Skip to content

amruthadevops/TaskManagementSystem

Repository files navigation

πŸš€ Task Management System

A full-stack role-based task management system built with .NET 8, React, TypeScript, and SQL Server.

✨ Features

πŸ” Authentication & Authorization

  • JWT-based authentication
  • Role-based access control (Admin, Manager, User)
  • Secure password hashing with BCrypt
  • Session management with token expiration

πŸ“Š Dashboard

  • Real-time task statistics
  • Visual overview of task distribution
  • Quick access to important metrics
  • Role-based data filtering

βœ… Task Management

  • Create, read, update, and delete tasks
  • Task status tracking (To Do, In Progress, Done)
  • Priority levels (Low, Medium, High, Critical)
  • Due date management
  • Task assignment to team members
  • Filter tasks by status, priority, and deadline

πŸ‘₯ Team Management

  • Create and manage teams (Admin/Manager only)
  • Add/remove team members
  • View team statistics
  • Manager assignment

πŸ’¬ Collaboration

  • Comment system on tasks
  • Real-time notifications (mock)
  • Task assignment notifications
  • Status change notifications

🎨 User Interface

  • Modern, responsive design
  • Mobile-friendly
  • Intuitive navigation
  • Clean and professional UI with Tailwind CSS

πŸ› οΈ Tech Stack

Backend

  • Framework: ASP.NET Core 8 MVC
  • ORM: Entity Framework Core 8
  • Database: SQL Server 2022
  • Authentication: JWT Bearer Tokens
  • Architecture: Clean Architecture with Repository - Pattern
  • API Documentation: Swagger/OpenAPI

Frontend

  • Framework: React 18.2 with TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • HTTP Client: Axios
  • Routing: React Router v6
  • Icons: Lucide React
  • Notifications: React Hot Toast
  • Date Handling: date-fns

πŸ—οΈ Architecture

Backend Architecture (Clean Architecture)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   API Layer                         β”‚
β”‚  Controllers, Middleware, Authentication            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Application Layer                      β”‚
β”‚  Services, DTOs, Business Logic, Interfaces         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                Domain Layer                         β”‚
β”‚  Entities, Value Objects, Domain Interfaces         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            Infrastructure Layer                     β”‚
β”‚  EF Core, Repositories, External Services           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • .NET 8 SDK
  • Node.js 18+
  • SQL Server

Local Development

    # Navigate to API project
    cd TaskManagement.API

    # Restore packages
    dotnet restore

    # Update connection string in appsettings.json
    # Then run migrations
    dotnet ef migrations add InitialCreate --project ../TaskManagement.Infrastructure
    dotnet ef database update --project ../TaskManagement.Infrastructure

    # Run the API
    dotnet run

Frontend Setup

# Navigate to frontend
cd task-management-frontend

# Install dependencies
npm install

# Create .env file
echo "VITE_API_URL=https://localhost:5001/api" > .env

# Run the app
npm run dev
Access the application at http://localhost:3000

πŸ“ Project Structure

TaskManagementSystem/
β”‚
β”œβ”€β”€ TaskManagement.API/                 # Web API
β”‚   β”œβ”€β”€ Controllers/                    # API Controllers
β”‚   β”œβ”€β”€ Program.cs                      # App configuration
β”‚   └── appsettings.json               # Configuration
β”‚
β”œβ”€β”€ TaskManagement.Application/         # Business Logic
β”‚   β”œβ”€β”€ DTOs/                          # Data Transfer Objects
β”‚   β”œβ”€β”€ Services/                      # Business Services
β”‚   └── Interfaces/                    # Service Contracts
β”‚
β”œβ”€β”€ TaskManagement.Core/               # Domain Layer
β”‚   β”œβ”€β”€ Entities/                      # Domain Entities
β”‚   └── Interfaces/                    # Repository Contracts
β”‚
β”œβ”€β”€ TaskManagement.Infrastructure/     # Data Access
β”‚   β”œβ”€β”€ Data/                         # DbContext
β”‚   └── Repositories/                 # Repository Implementation
β”‚
β”œβ”€β”€ TaskManagement.Tests/             # Unit Tests
β”‚   β”œβ”€β”€ Services/                     # Service Tests
β”‚   └── Controllers/                  # Controller Tests
β”‚
β”œβ”€β”€ task-management-frontend/         # React Frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/                     # API Services
β”‚   β”‚   β”œβ”€β”€ components/              # React Components
β”‚   β”‚   β”œβ”€β”€ pages/                   # Page Components
β”‚   β”‚   β”œβ”€β”€ context/                 # Context Providers
β”‚   β”‚   β”œβ”€β”€ types/                   # TypeScript Types
β”‚   β”‚   └── App.tsx                  # Root Component
β”‚   └── package.json
β”‚
└── docker-compose.yml                # Docker Compose Config

Register

image

Logiin

image

Dashboard

Image

Task Management

Image

Team Management

Image

License

This project is licensed under the MIT License - see the LICENSE file for details.

Authors

About

Build a role-based Task Management System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors