We also want our backend/front-end protected with CSRF. We're always security conscious, so we'll want the whole shebang to be protected via OAuth2, and authenticate via our google domain. In addition to the APIs, we'd also want the back-end to trigger resolving all unknown IP locations on a daily basis.įurthermore, as the numbers of entries in the database might get large, we'd want the geo-lookups to be done in parallel, several simultaneously. An API endpoint to view all the entries in the table.
Trigger a background task that scans the database immediately and attempts to geo-locate all unknown IP locations.Lookup the location of an IP address in real-time.List all IPs for which we don't have country information for.On the back-end side, we'd like some APIs: For this reason, we're going to co-locate the front-end and back-end code in the same repo, and make it relatively easy for both front-end or back-end developers to work on. In this example, we want the front-end to be packaged and deployed inside the back-end application. Hopefully by the time we're done, everyone's happy. The stakeholders in this type of project typically are: The product owner, front-end engineer, back-end engineer, QA, DevOps & Security. We'd also like to see the entries in the database as well. We have been tasked to build a form where users can enter an IP address, and we are supposed to save it to a database. Our fictitious project is called Visitors.
For the back-end, we'll use Java+Spring Boot. First, we'd like to build a modern front-end and back-end system. This blog post is going to be a bit of a beast, so before I dig too deep let's set the stage on what we're trying to accomplish. We'll cover: REST endpoints, scheduled tasks, thread-pools to parallelize work, React, MySQL, 12-factor app best practices, OAuth2 (google), monitoring, unit testing, code coverage, project mess detection, spotbugs, DevOps and more! Here's what it'll look like when we're done (note my amazing front-end skills)
Intellij idea unmapped spring configuration files found how to#
Here's a Spring Boot project template/tutorial that I've put together to try to get some best practices codified on how to quickly throw together a service.