This is the pedagogical example app of the discipline Qualidade de Software (Page 109) - Tecnologia em Análise e Desenvolvimento de Sistemas - TADS - Diretoria Acadêmica de Gestão e Tecnologia da Informação - DIATINF - Campus Natal Central - CNAT - Instituto Federal do Rio Grande do Norte - IFRN.
- Secure RESTful API for account management
- JWT-based authentication and authorization
- CRUD operations for accounts, categories, owners, and entries
- Database migrations and schema management
- Automated tests and code quality checks
- Containerized deployment with Docker and Caddy
This backend API is built with Spring Boot and leverages the following technologies:
- Java 25 (Eclipse Temurin)
- Spring Boot (REST API, Dependency Injection, Validation)
- Spring Security (JWT authentication, role-based access)
- Spring Data JPA (Persistence layer)
- Hibernate (ORM)
- PostgreSQL (Database)
- Flyway (Database migrations)
- OpenAPI/Swagger (API documentation)
- JUnit 5 (Unit and integration testing)
- AssertJ (Fluent assertions)
- Mockito (Mocking in tests)
- SonarCloud (Code quality and coverage)
- Docker (Containerization)
- Caddy (Reverse proxy)
- Maven (Build automation)
- Lombok (Boilerplate code reduction)
- GitHub Actions (CI/CD)
- Clone the repository
- Build the project
./mvnw clean package
- Run with Docker
docker compose up
- Access API documentation
- Visit
http://localhost:8080/swagger-ui/for OpenAPI docs
- Visit
This project is licensed under the Apache License 2.0.