Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Management API

🔧 How to Run

git clone [email protected]:Narvane/task-management-api.git
cd task-management-api
mvn quarkus:dev

📑 Documentation

All endpoints are protected with HTTP Basic Authentication.
Use the lock icon in Swagger to authenticate.
Username: admin
Password: 123


🧠 Project Structure

The project is divided into three main layers:

domain

Contains models, exceptions, and use cases, representing the business logic of the application.
This layer only uses essential dependencies such as component injection and bean validations, staying free from infrastructure concerns.

app

This layer is responsible for exposing the REST endpoints, handling requests, and managing exceptions. It acts as the entry point into the domain layer.

persistence

Holds the DAOs, which are solely responsible for mapping and transferring data between the database and the domain, keeping the domain decoupled from persistence logic.


🧱 Architecture

The structure follows Clean Architecture and Domain-Driven Design (DDD) principles.

This separation was chosen to demonstrate clarity, testability, and architectural knowledge.
In a smaller real-world project, a more straightforward approach could be used, such as:

  • Using JPA directly in the models
  • Replacing use cases with simple services

✅ Testing

Unit tests were implemented for:

  • UseCases (business logic)
  • Resources (endpoints)
  • Requests (bean validation)
  • Repositories (persistence layer)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages