A comprehensive task management system designed to help employees track their tasks, attach documents, add notes, and complete tasks. This system supports various roles: Admin, Manager, and Developer, each with specific capabilities.
- Register new employees.
- View reports related to tasks that are due within a week, month, etc.
- Create and assign tasks to team members.
- Track the progress of tasks assigned to their team.
- Track tasks assigned to them.
- Add notes and attach documents to tasks.
- Update the status of tasks.
- ASP.NET Core: Framework for building the web API.
- Entity Framework Core: ORM for data access.
- SQL Server: Database for storing application data.
- Onion Architecture: A layered architecture pattern that promotes separation of concerns and dependency inversion.
- Separation of Concerns: Helps to keep different parts of the application independent from each other.
- Testability: Facilitates testing by isolating business logic from infrastructure concerns.
- Maintainability: Makes it easier to manage and modify the application over time.
- Flexibility: Allows for easier substitution of different technologies or frameworks.
-
Microsoft.AspNetCore.Authentication.JwtBearer
- Purpose: Provides JWT bearer token authentication support, which is essential for securing API endpoints.
-
Microsoft.EntityFrameworkCore.SqlServer
- Purpose: Provides SQL Server database provider for Entity Framework Core, enabling communication with the SQL Server database.
-
Microsoft.AspNetCore.Identity.EntityFrameworkCore
- Purpose: Provides Identity support with Entity Framework Core, facilitating user authentication and authorization.
-
Microsoft.EntityFrameworkCore.Tools
- Purpose: Contains tools for Entity Framework Core, including migrations and database updates.
-
Clone the repository:
git clone https://github.com/your-username/task-management-system.git
-
Navigate to the project directory:
cd task-management-system
-
Update the SQL connection string:
- Open
appsettings.json
and modify theDefaultConnection
string to match your SQL Server instance.
- Open
-
Create the database:
- Run the following command to apply migrations and create the database:
dotnet ef database update
-
Run the application:
dotnet run
- Implement functionality for refreshing JWT tokens.
- Add functionality to manage employee roles and hierarchy.
- Implement logging for better monitoring and debugging.
- Add global exception handling to manage errors gracefully.
- Implement Fluent Validation for input validation.
Ketan Ghori - [email protected]