A full-stack role-based task management system built with .NET 8, React, TypeScript, and SQL Server.
- JWT-based authentication
- Role-based access control (Admin, Manager, User)
- Secure password hashing with BCrypt
- Session management with token expiration
- Real-time task statistics
- Visual overview of task distribution
- Quick access to important metrics
- Role-based data filtering
- 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
- Create and manage teams (Admin/Manager only)
- Add/remove team members
- View team statistics
- Manager assignment
- Comment system on tasks
- Real-time notifications (mock)
- Task assignment notifications
- Status change notifications
- Modern, responsive design
- Mobile-friendly
- Intuitive navigation
- Clean and professional UI with Tailwind CSS
- 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
- 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
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 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Prerequisites
- .NET 8 SDK
- Node.js 18+
- SQL Server
# 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
# 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
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
This project is licensed under the MIT License - see the LICENSE file for details.