- Spring boot
- SMTP Server (Gmail)
- JWT for security
- H2 database
- Kafka for messaging
- Send emails asynchronously.
- Use a JMS/Kafka message queue and a DB table
- Send an email reminder 8 and 4 hours prior to the end of the registration period
- Use Git for code repo
- Have more than one REST service (which means your services are calling one another)
- Spring Security using token based authentication (JWT)
- Web layer of your API using WebFlux and non-blocking IO
- Deploy your application to the cloud (AWS, Google, Azure, Cloud Foundry, ...)
- Create an automated pipeline for CI/CD (continuous integration/continuous delivery)
- Use Spring Cloud Feign for your service calls (https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html)