Welcome to the backend of TaskMaster, a powerful and secure Smart Task Manager built with Spring Boot and PostgreSQL, designed for managing tasks efficiently with role-based access control and insightful analytics.
Backend: https://smart-task-manager-backend.onrender.com
Frontend: https://taskmaster-frontend.netlify.app
- 🔐 JWT Authentication (Login / Register)
- 👥 Role-Based Access Control (Admin / Manager / Employee)
- 📊 Task Analytics (e.g., status breakdown, task completion trends, user productivity)
- 🧾 Task CRUD APIs
- 🗂️ Filter Tasks by User or Date
- 🌍 CORS Enabled for Frontend Integration
- 📦 RESTful JSON APIs
| Tech | Description |
|---|---|
Java 17 | Modern Java version |
Spring Boot | Backend framework |
Spring Security | Authentication & Authorization |
JWT | Token-based auth |
PostgreSQL | Relational database |
Maven | Dependency management |
Render | Backend hosting platform |
src/
├── config/ # JWT Security Configuration and Filters
├── controller/ # REST API Controllers for Auth, Tasks, Analytics
├── dto/ # Data Transfer Objects (LoginRequest, TaskDTO, etc.)
├── entity/ # JPA Entities like User, Role, Task
├── exception/ # Custom Exception Handling (GlobalExceptionHandler, etc.)
├── repository/ # Spring Data JPA Repositories
├── service/ # Service Layer - Business Logic and JWT Service
└── TaskManagerApp.java # Main Spring Boot Application Entry Point
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register | Register a new user |
| POST | /api/auth/login | Login and get JWT token |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tasks | Get all tasks |
| GET | /api/tasks/my | Get all tasks of logged-In User |
| POST | /api/tasks | Create a new task |
| PUT | /api/tasks/{id} | Update a task |
| PUT | /api/tasks/{id}/status | Update status of the task |
| DELETE | /api/tasks/{id} | Delete a task |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/analytics/task-summary | Task analytics |
| GET | /api/analytics/user-performance-summary | User productivity analytics |
| GET | /api/analytics/due-date-summary | Due Date related analytics |
| GET | /api/analytics/status-summary | Task status analytics |
- Java 17+
- Spring Boot
- Maven
- PostgreSQL
git clone https://github.com/ravigupta97/TaskMaster-backend.git
cd TaskMaster-backendCreate a .env file or update your application.properties with your PostgreSQL credentials:
spring.datasource.url=jdbc:postgresql://localhost:5432/<db_name>
spring.datasource.username=your_user
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=updateUse the following commands to build and run the Spring Boot application:
mvn clean install
mvn spring-boot:run
The backend is hosted on Render, providing scalable infrastructure for Spring Boot applications.
👤 Ravi Gupta
🔗 GitHub Profile