This is the application you are going to use through the whole traninig. This, hopefully, will teach you the fundamentals you need in a real project. You will find a basic TODO application designed with a microservice architecture. Although is a TODO application, it is interesting because the microservices that compose it are written in different programming language or frameworks (Go, Python, Vue, Java, and NodeJS). With this design you will experiment with multiple build tools and environments.
In each folder you can find a more in-depth explanation of each component:
- Users API is a Spring Boot application. Provides user profiles. At the moment, does not provide full CRUD, just getting a single user and all users.
- Auth API is a Go application, and provides authorization functionality. Generates JWT tokens to be used with other APIs.
- TODOs API is a NodeJS application, provides CRUD functionality over user's TODO records. Also, it logs "create" and "delete" operations to Redis queue.
- Log Message Processor is a queue processor written in Python. Its purpose is to read messages from a Redis queue and print them to standard output.
- Frontend Vue application, provides UI.
Take a look at the components diagram that describes them and their interactions.