A full-stack task management application built with ASP.NET Core, React, and SQL Server.
- Authentication & Roles: User registration and login with role-based permissions (
AdminandUser). - Task Management: Create, assign, and track tasks through life-cycle states (
NotStarted->Ongoing->Done). - Role Isolation: Administrators can assign tasks to team members and oversee all progress; standard users manage only their assigned workload.
- RESTful API: ASP.NET Core Web API with Entity Framework Core and SQL Server persistence.
- Unit Testing: xUnit test suite covering services, controllers, and state transitions using in-memory database execution.
- Docker Compose: Containerized multi-service configuration for local orchestration.
- Backend: ASP.NET Core 9.0, C#, Entity Framework Core
- Frontend: React, JavaScript, Vite, CSS
- Database: Microsoft SQL Server 2022
- Testing: xUnit, EF Core InMemory Provider
- DevOps: Docker, Docker Compose
TASKe/
├── TASKe/
│ ├── TASKe/ # ASP.NET Core Web API project
│ │ ├── Controllers/ # API controllers
│ │ ├── Data/ # EF Core DbContext & migrations
│ │ ├── Models/ # Domain entities & DTOs
│ │ └── Services/ # Business logic & state rules
│ ├── TASKe.Tests/ # xUnit test suite
│ └── TASKe.slnx # Solution file
├── task-ui/ # React frontend application
├── docker-compose.yml # Multi-container orchestration
└── README.md
To run the complete stack (API, Frontend, SQL Server):
docker compose up --build- Frontend:
http://localhost:3000 - Backend API:
http://localhost:5000 - SQL Server:
localhost:1434
To stop:
docker compose downcd TASKe/TASKe
dotnet runRun unit tests:
cd TASKe
dotnet testcd task-ui
npm install
npm run devThis project is licensed under the MIT License.