This repository is designed to guide you through building a real-world backend service using Spring Boot. Each section focuses on critical components necessary for developing a robust and scalable application.
- Build a foundational Spring Boot project with essential components for real-world backend services.
- Configure connections to a PostgreSQL database.
- Develop RESTful APIs with mock data to interact with the database.
- Create User:
POST /api/v1/user/add
- Update User:
PUT /api/v1/user/upd
- Change Password:
PATCH /api/v1/user/change-pwd
- Confirm Registration:
PATCH /api/v1/user/confirm?secretCode={code}
- Delete User:
DELETE /api/v1/user/del/{id}
- List Users:
GET /api/v1/user/list
- Search Users:
GET /api/v1/user/search?firstName={firstName}&...
- User Details:
GET /api/v1/user/detail/{userId}
- Guide on debugging with IntelliJ.
- Implement advanced exception handling to ensure service stability.
- Send individual and bulk marketing emails.
- Handle email verification for user registration.
- Overview and implementation of Spring Security.
- Develop authentication APIs for login, logout, and password reset.
- Implement Role-Based Access Control (RBAC) for managing user permissions.
- Review database and source code to ensure high-quality standards.
- Provide feedback for optimization.
- Integrate Elasticsearch, Logstash, and Kibana for advanced logging.
- Aggregate logs and push them to Kafka for large-scale applications.
- Set up Grafana and Prometheus to monitor application performance and metrics.
- Build and package the application using Docker.
- Push the packaged application to a repository.
- Implement CI/CD pipelines with tools like SonarQube for code quality checks.