This is the Spring Boot backend API for the [Task Manager App], a full-stack task management system with CRUD operations, filtering, and search capabilities.
The backend handles business logic, data persistence, and provides RESTful APIs to the React + Vite frontend.
- Java 21
- Spring Boot 3+
- Spring Web
- Spring Data JPA
- Hibernate
- PostgreSQL (configurable)
- Maven
- Lombok
public class Task {
private int id;
private String title;
private String description;
private Date createdDate;
private boolean completed;
private int priority; // 1 to 10
}| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tasks |
Get all tasks |
| GET | /api/tasks/{id} |
Get task by ID |
| POST | /api/tasks |
Create a new task |
| PUT | /api/tasks/{id} |
Update task by ID |
| DELETE | /api/tasks/{id} |
Delete task by ID |
| GET | /api/tasks/search |
Search/filter tasks (by title, priority, status) |
git clone https://github.com/oxvoidmain/task-manager-java.gitYou can run the project using your IDE or the terminal:
./mvnw spring-boot:run- API Base URL:
http://localhost:8080/api/tasks - H2 Console (for testing DB):
http://localhost:8080/h2-console
You can customize the database and port in src/main/resources/application.properties.
Example for H2:
spring.datasource.url=jdbc:postgresql://localhost:5432/tasks
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.username=username
spring.datasource.password=user password
# JPA & Hibernate Config
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect