Task Management System

Task Management System Using Spring Boot

Task Management System

A Task Management System is an essential tool for individuals and teams aiming to organize, assign, and monitor tasks efficiently. This system empowers users with features like deadline tracking, priority setting, and a comprehensive dashboard to visualize progress.

Download New Real Time Projects :-Click here

Task-Management-System-1024x585 Task Management System Using Spring Boot

Project Details

Project Name Task Management System
Language/s Used Spring Boot
Database MySQL
Type Web Application
Developer updategadh.com

Available Features

  • User and Task Management: Add, assign, and manage tasks with ease.
  • Admin Panel: A dedicated interface for administrators to oversee the entire system.
  • Set Deadlines: Ensure timely completion with custom deadlines.
  • Priority Levels: Organize tasks by assigning priority levels.
  • Notifications: Get reminders for upcoming deadlines.
  • Dashboard: Track progress and task completion visually.
  • Reports:
    • Task Completion Report
    • User Activity Report
    • Overall System Report
  • System Settings:
    • Configure notifications.
    • Manage user permissions.
    • Update passwords and security settings.

Tools and Technologies Used

  • Backend: Spring Boot for task and workflow management.
  • Frontend: Angular/React (optional for UI enhancements).
  • Database: MySQL for data storage and retrieval.

Skills Gained

  1. Backend Development: Learn to build robust task and workflow management systems.
  2. Notification Scheduling: Implement reminders for deadlines.
  3. REST API Design: Create APIs suitable for productivity tools.

Directory Structure

task-management-system/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/example/taskmanagement/
│   │   │       ├── TaskManagementApplication.java
│   │   │       ├── controller/
│   │   │       │   └── TaskController.java
│   │   │       ├── model/
│   │   │       │   └── Task.java
│   │   │       ├── repository/
│   │   │       │   └── TaskRepository.java
│   │   │       ├── service/
│   │   │       │   └── TaskService.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── data.sql
└── pom.xml

Code Files

1. TaskManagementApplication.java

package com.example.taskmanagement;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class TaskManagementApplication {
    public static void main(String[] args) {
        SpringApplication.run(TaskManagementApplication.class, args);
    }
}

2. Task.java (Model)

package com.example.taskmanagement.model;

import jakarta.persistence.*;
import java.time.LocalDate;

@Entity
public class Task {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String title;
    private String description;

    @Enumerated(EnumType.STRING)
    private Priority priority;

    private LocalDate deadline;

    private boolean completed;

    // Getters and Setters
}

3. TaskController.java

package com.example.taskmanagement.controller;

import com.example.taskmanagement.model.Task;
import com.example.taskmanagement.service.TaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/tasks")
public class TaskController {

    @Autowired
    private TaskService taskService;

    @PostMapping
    public Task createTask(@RequestBody Task task) {
        return taskService.createTask(task);
    }

    @GetMapping
    public List<Task> getAllTasks() {
        return taskService.getAllTasks();
    }

    @PutMapping("/{id}")
    public Task updateTask(@PathVariable Long id, @RequestBody Task task) {
        return taskService.updateTask(id, task);
    }

    @DeleteMapping("/{id}")
    public void deleteTask(@PathVariable Long id) {
        taskService.deleteTask(id);
    }
}

Complete Python Course with Advance topics:-Click here

4. TaskService.java

package com.example.taskmanagement.service;

import com.example.taskmanagement.model.Task;
import com.example.taskmanagement.repository.TaskRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public class TaskService {

    @Autowired
    private TaskRepository taskRepository;

    public Task createTask(Task task) {
        return taskRepository.save(task);
    }

    public List<Task> getAllTasks() {
        return taskRepository.findAll();
    }

    public Task updateTask(Long id, Task task) {
        Optional<Task> existingTask = taskRepository.findById(id);
        if (existingTask.isPresent()) {
            Task updatedTask = existingTask.get();
            updatedTask.setTitle(task.getTitle());
            updatedTask.setDescription(task.getDescription());
            updatedTask.setPriority(task.getPriority());
            updatedTask.setDeadline(task.getDeadline());
            updatedTask.setCompleted(task.isCompleted());
            return taskRepository.save(updatedTask);
        } else {
            throw new RuntimeException("Task not found");
        }
    }

    public void deleteTask(Long id) {
        taskRepository.deleteById(id);
    }
}

5. TaskRepository.java

package com.example.taskmanagement.repository;

import com.example.taskmanagement.model.Task;
import org.springframework.data.jpa.repository.JpaRepository;

public interface TaskRepository extends JpaRepository<Task, Long> {
}

Complete Advance AI topics:- CLICK HERE

6. application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/task_management
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

7. data.sql

INSERT INTO task (title, description, priority, deadline, completed) VALUES
('Complete Project', 'Finish the Spring Boot project', 'HIGH', '2025-01-20', false),
('Prepare Presentation', 'Prepare slides for the meeting', 'MEDIUM', '2025-01-18', false);


employee task management system
online task management system
use case diagram for task management system
task management system project
task management system free
task management app
best task management software for individuals
task management system github
free task management app
task management website
task management tools for individuals
jira
task management
task management system project management

Post Comment