A lightweight REST API for Task Management built with Spring Boot, JPA, and PostgreSQL. Designed with clean architecture and industry-standard best practices.
- User Management: Secure Sign-up and Sign-in functionality.
- Task Management: Create, view, and organize tasks assigned to specific users.
- Modern Security: Uses UUIDs instead of incremental IDs for enhanced security and scalability.
- Data Integrity: Handled via JPA/Hibernate with proper relationship mapping.
- Interactive Documentation: Fully integrated with Swagger (OpenAPI) for real-time testing.
- Language: Java 17
- Framework: Spring Boot 3.x
- Persistence: Spring Data JPA / Hibernate
- Database: PostgreSQL
- Tooling: Lombok, Maven
Create a PostgreSQL database named tasks_db:
CREATE DATABASE tasks_db;
Update your database credentials in:
src/main/resources/application.yaml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/tasks_db
username: your_username
password: your_password
Navigate to the root directory and run:
./mvnw spring-boot:run
The API documentation is automatically generated. Once the server is running, explore the endpoints here: π http://localhost:8080/swagger-ui/index.html
