Task and Project Management System developed in Java with Spring Boot and SQLite.
- Java 17
- Spring Boot 3.2.0
- Spring Data JPA
- SQLite
- Lombok
- Maven
src/main/java/com/taskmanager/
├── builder/ # Builder Pattern
├── config/ # Configurations and Singleton
├── controller/ # REST Controllers
├── dto/ # Data Transfer Objects
├── exception/ # Exception Handling
├── factory/ # Factory Pattern
├── model/ # JPA Entities
│ └── enums/ # Enumerations
├── observer/ # Observer Pattern
├── repository/ # JPA Repositories
├── service/ # Business Logic
└── strategy/ # Strategy Pattern
- JDK 17 or higher
- Maven 3.6+
- IntelliJ IDEA (recommended)
-
Clone or create the project in IntelliJ:
- File → New → Project
- Name:
task-manager-api - Group:
com.taskmanager
-
Copy the
pom.xmlfile to the project root directory -
Create the package structure as indicated above
-
Copy all Java files to their respective packages
-
Copy the
application.propertiestosrc/main/resources/ -
Run Maven to download dependencies:
mvn clean install
-
Run the application:
mvn spring-boot:run
Or run the
TaskManagerApiApplicationclass directly in IntelliJ -
The API will be available at:
http://localhost:8080
POST /api/projects- Create projectGET /api/projects- List allGET /api/projects/{id}- Get by IDGET /api/projects/search?name=- Search by namePUT /api/projects/{id}- UpdateDELETE /api/projects/{id}- Delete
POST /api/tasks- Create taskGET /api/tasks- List allGET /api/tasks/{id}- Get by IDGET /api/tasks/project/{projectId}- Tasks by projectGET /api/tasks/status/{status}- Filter by statusGET /api/tasks/sorted/priority- Sort by priority (Strategy)PUT /api/tasks/{id}- UpdateDELETE /api/tasks/{id}- Delete
POST /api/tasks/{taskId}/comments- Add commentGET /api/tasks/{taskId}/comments- List commentsDELETE /api/tasks/{taskId}/comments/{commentId}- Delete comment