Skip to content

Repository files navigation

Account Backend

License Build Status Code Smells Coverage

Overview

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.

Features

  • 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

Technologies

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)

Getting Started

  1. Clone the repository
  2. Build the project
    ./mvnw clean package
  3. Run with Docker
    docker compose up
  4. Access API documentation
    • Visit http://localhost:8080/swagger-ui/ for OpenAPI docs

License

This project is licensed under the Apache License 2.0.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages