A secure and production-ready Task Management REST API built using Spring Boot, Spring Security, JWT, and PostgreSQL.
- User signup and login
- JWT-based authentication
- Secure APIs using Bearer token
- User-based task ownership (each user can access only their own tasks)
- Create, update, and delete tasks
- Partial task updates (status)
- Search tasks by title and description
- Filter tasks by status and priority
- Pagination and sorting
- DTO-based clean API design
- Global exception handling
- Request validation
- Logging for important actions and errors
- Standard API response structure
- Java 21
- Spring Boot
- Spring Security
- JWT (JSON Web Token)
- Spring Data JPA
- PostgreSQL
- Maven
- Docker
This project follows a layered architecture:
Controller → Service → Repository → Database
- User signs up
- User logs in
- API returns a JWT token
- Client sends the token in the
Authorization: Bearer <token>header - Protected endpoints validate the token before allowing access
Frontend (Full Application): https://task-tracker-frontend-devendra1176s-projects.vercel.app/
Backend API: https://task-tracker-api-kgsq.onrender.com
POST /auth/signupPOST /auth/login
POST /tasksGET /tasksGET /tasks/{id}PUT /tasks/{id}PATCH /tasks/{id}/statusDELETE /tasks/{id}
GET /tasks/searchGET /tasks/filterGET /tasks?page=0&size=5&sortBy=dueDate&direction=desc
- Only authenticated users can access task APIs
- Each user can access only their own tasks
- Validation ensures correct request data
- Standard JSON responses improve frontend integration
- Java 17+
- Maven
- PostgreSQL
git clone https://github.com/devendra1176/task-tracker-api.git
cd task-tracker-apiUpdate your application-local.properties with your PostgreSQL credentials.
./mvnw spring-boot:runAfter running locally, access the API at:
- Backend deployed on Render
- Frontend deployed separately on Vercel
- Refresh token support
- Role-based authorization (Admin/User)
- AI-based task suggestions (Spring AI)
- Notifications and reminders
- Unit and integration testing
Devendra Sahu
Aspiring Java Backend Developer | Spring Boot | REST APIs | JWT | PostgreSQL
This project was built to demonstrate real-world backend development concepts including:
- Secure authentication (JWT)
- Clean layered architecture
- Scalable API design
- User-based data access control
- Frontend integration with a REST API