Skip to content

persapiens-classes/account-backend

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •