How mustafa-azeem/cohort-9-dotnet-14466-mustafa works
Task Management Tool is a React client backed by an ASP.NET Core API for authentication, role-aware task management, and dashboard counts. Users register or log in to receive JWT credentials, then use protected task and dashboard screens; API controllers apply the authenticated identity and delegate task operations to services backed by SQL Server. Admins also manage task visibility and assignment and can list users. The README documents rate limiting, JWT authorization, and global exception handling; detailed wiring beyond the sampled controllers and services is summarized at the documented layer boundaries.
Main entry points: App.jsx React app · Program.cs Request middleware · AppDbContext.cs Task database context · taskService.js Task client
Components 21
React client
- React app
frontend/src/App.jsx - Login and register
frontend/src/pages/Login.jsx - Task screens
frontend/src/pages/TaskList.jsx - Dashboard
frontend/src/pages/Dashboard.jsx - Profile
frontend/src/pages/Profile.jsx - Auth state
frontend/src/context/AuthContext.jsx - Auth client
frontend/src/services/authService.js - Task client
frontend/src/services/taskService.js - HTTP client
frontend/src/services/api.js
API and security
- Auth controller
backend/TaskManagementTool.API/Controller/AuthController.cs - Tasks controller
backend/TaskManagementTool.API/Controller/TasksController.cs - Users controller
backend/TaskManagementTool.API/Controller/UsersController.cs - Request middleware
backend/TaskManagementTool.API/Program.cs - Exception handler
backend/TaskManagementTool.API/Middleware/ExceptionMiddleware.cs
Application services
- Authentication service
backend/TaskManagementTool.Infrastructure/Services/AuthService.cs - Task service
backend/TaskManagementTool.Infrastructure/TaskService.cs
Domain and storage
- Identity store
backend/TaskManagementTool.API/Program.cs - Task database context
backend/TaskManagementTool.Infrastructure/Data/AppDbContext.cs - Users and tasks
backend/TaskManagementTool.Domain/Entities/TaskItem.cs
Other components
- User
- SQL Server
Connections 23
- User → React app: uses
- React app → Login and register: routes
- React app → Task screens: routes
- React app → Dashboard: routes
- React app → Profile: routes
- React app → Auth state: provides auth
- Login and register → Auth client: requests auth
- Auth client → HTTP client: sends requests
- Task screens → Task client: requests tasks
- Dashboard → Task client: requests counts
- Task client → HTTP client: sends requests
- HTTP client → Request middleware: HTTP requests
- Request middleware → Auth controller: dispatches auth
- Request middleware → Tasks controller: dispatches tasks
- Request middleware → Users controller: dispatches users
- Request middleware → Exception handler: handles errors
- Auth controller → Authentication service: calls
- Tasks controller → Task service: calls
- Authentication service → Identity store: manages accounts
- Users controller → Identity store: lists users
- Task service → Task database context: queries and saves
- Task database context → SQL Server: persists
- Task database context → Users and tasks: stores