Skip to content

DerrickMullins/task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 Task Manager (Full Stack)

A full-stack task management system built with NestJS (backend) and React + TypeScript (frontend).
It supports task tracking, subtasks, employees, drag-and-drop workflow, inline editing, and a timeline view.


🚀 Features

📋 Task Management

  • Create, update, and delete tasks
  • Assign tasks to employees
  • Set priority levels: LOW / MEDIUM / HIGH
  • Set start and due dates
  • Task status workflow:
    • TODO
    • IN_PROGRESS
    • DONE

🧩 Subtasks

  • Add multiple subtasks per task
  • Toggle completion inline
  • Create, update, and delete subtasks
  • Real-time UI updates without page refresh

👥 Employee Management

  • Create employees
  • Assign tasks to employees
  • Filter tasks by employee

🖱 Drag & Drop Board

  • Move tasks between columns:
    • TODO
    • IN_PROGRESS
    • DONE
  • Automatically syncs with backend

⏱ Timeline View

  • Tasks sorted by due date
  • Overdue task highlighting
  • Status color indicators
  • Priority badges
  • Click task to open edit modal

✏️ Task Editing

  • Edit tasks via modal
  • Update:
    • title
    • description
    • priority
    • due date
    • subtasks
  • Instant UI refresh across all views

🧱 Tech Stack

Frontend

  • React
  • TypeScript
  • Tailwind CSS

Backend

  • NestJS
  • Prisma ORM
  • SQLite (development database)

🗄 Database Schema

Employee

  • id
  • firstName
  • lastName
  • email
  • role
  • department
  • tasks (relation)
  • assignedSubtasks (relation)

Task

  • id
  • title
  • description
  • status
  • priority
  • startDate
  • dueDate
  • createdAt
  • employeeId
  • subtasks

Subtask

  • id
  • title
  • completed
  • startDate
  • endDate
  • taskId
  • assigneeId

🔌 API Endpoints

Tasks

  • GET /tasks?employeeId=
  • POST /tasks
  • PATCH /tasks/:id
  • DELETE /tasks/:id
  • PATCH /tasks/:taskId/subtasks/:subtaskId
  • PATCH /tasks/:id/status

Employees

  • GET /employees
  • POST /employees

🧠 Architecture Notes

Subtask Handling

  • Subtasks are relational in Prisma
  • Update logic supports:
    • updating existing subtasks
    • adding new subtasks
    • deleting removed subtasks

Task Updates

  • Uses transactional updates in backend
  • Ensures task + subtasks stay consistent

⚙️ Setup Instructions

📦 Backend Setup

cd backend
npm install
npx prisma generate
npx prisma migrate dev
npm run start:dev

🌐 App runs at: http://localhost:3000/

📦 Frontend Setup

cd frontend
npm install
npm run dev

🌐 App runs at: http://localhost:5173/

🐳 Docker Setup (Recommended)

This is the easiest way to run the entire project.

🚀 Start the app

From the project root:

docker compose up --build

About

Manage Employee Tasks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors