https://github.com/pranav128/task-management-system-backend
The Task Management System Backend is a robust and scalable Spring Boot application designed to manage tasks, users, comments, and notifications. It provides RESTful APIs for seamless integration with the frontend.
https://github.com/pranav128/task-management-system-backend
java mysql restful-api springboot webapp
Last synced: about 2 months ago
JSON representation
The Task Management System Backend is a robust and scalable Spring Boot application designed to manage tasks, users, comments, and notifications. It provides RESTful APIs for seamless integration with the frontend.
- Host: GitHub
- URL: https://github.com/pranav128/task-management-system-backend
- Owner: Pranav128
- License: mit
- Created: 2025-02-27T13:50:24.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-28T09:52:47.000Z (over 1 year ago)
- Last Synced: 2025-02-28T16:42:04.514Z (over 1 year ago)
- Topics: java, mysql, restful-api, springboot, webapp
- Language: Java
- Homepage: https://taskmaster128.netlify.app
- Size: 60.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Task Management System - Backend (Spring Boot)





This is the backend service for the Task Management System, built using **Spring Boot, Spring Security, Hibernate, and MySQL**. It provides a REST API for managing users, tasks, notifications, comments and attachments.
---
### ๐ปLive experience: https://taskmaster128.netlify.app
### ๐ซConsume Restful web-services: https://taskmaster-v1.onrender.com/api
Your browser does not support the video tag.
Your browser does not support the video tag.
---
## Table of Contents
- [Features](#-features)
- [Technologies Used](#-tech-stack)
- [Setup Instructions](#-setup-instructions)
- [API Documentation](#apis)
- [Database Schema](#-database)
- [Deploying the Application](#-deployment)
- [Screenshots](#-screenshots)
- [License](#-license)
---
## **๐ Features**
- โ
**User Authentication & JWT Authorization** (Login, Signup, Forgot Password, Role-based Access)
- โ
**Task Management** (Create, Update, Assign, Delete, Change Status & Priority)
- โ
**Comments & Notifications** (Users can comment & get real-time notifications)
- โ
**File Attachments** (Upload & download files)
- โ
**Role-based Authorization** (`ADMIN` & `USER`)
- โ
**Pagination & Sorting** for Task Lists
- โ
**CORS Support** (Cross-Origin Requests)
---
## **๐ Tech Stack**
- **Spring Boot 3**
- **Spring Security (JWT)**
- **Hibernate & JPA**
- **MySQL**
- **Lombok**
- **Swagger (API Documentation)**
- **Maven**
- **Docker** *(Optional)*
---
## **๐ Setup Instructions**
### Prerequisites
- Java 17
- MySQL 8.0
- Maven 3.8+
### **1๏ธโฃ Clone the Repository**
```bash
https://github.com/Pranav128/Task-management-system-frontend.git
```
### **2๏ธโฃ Configure MySQL Database**
```bash
Create a MySQL database named task_management_db
Update src/main/resources/application.properties
```
### **3๏ธโฃ Run the Application**
```bash
mvn clean spring-boot:run
```
๐ Backend is now running on http://localhost:8080/api
---
## **๐API's**
This document outlines the available API endpoints for the application.
### **๐ Authentication**
| Method | Endpoint | Description |
|--------|-----------------------------|----------------------------|
| POST | `/api/auth/signup` | Register a new user |
| POST | `/api/auth/login` | Login & receive JWT token |
| POST | `/api/auth/forgot-password` | Send reset link to email |
| POST | `/api/auth/reset-password` | Reset password using token |
### **๐Task Management**
| Method | Endpoint | Description |
|--------|-------------------|---------------------------------|
| GET | `/api/tasks` | Get all tasks (with pagination) |
| POST | `/api/tasks` | Create a new task |
| PUT | `/api/tasks/{id}` | Update task details |
| DELETE | `/api/tasks/{id}` | Delete a task |
### **๐Comments & Notifications**
| Method | Endpoint | Description |
|--------|-------------------------------|--------------------------------|
| POST | `/api/comments/{taskId}` | Add a comment to a task |
| GET | `/api/notifications/{taskId}` | Fetch notifications for a task |
---
## **๐ Database**
**ERR Diagram**


---
## **๐ Deployment**
### **๐ Build JAR**
```bash
mvn clean package -DskipTests
```
### **๐ Run JAR**
```bash
java -jar target/task-management-system.jar
```
### **๐ณ Docker Deployment**
```bash
docker build -t task-management-backend .
docker run -p 8080:8080 task-management-backend
```
---
## **๐ Screenshots**
1. **Home Page**

2. **Signup Page**

3. **Login Page**

4. **Dashboard Page**

5. **Task List Page**

6. **Task Details Page**


7. **New Task Page**



8. **Profile Page**


9. **Forgot-Password Page**

10. **Reset-Password Page**

11. **Access-denied Page**

---
## **๐ License**
**This project is licensed under the MIT License. See the [LICENSE](/LICENSE) file for details.**
---