This is a full-stack web application built for managing tasks. Users can create, view, update, and delete tasks, and the application also features user authentication via JWT for secure access. It is built using ASP.NET Core for the backend and React.js for the frontend.
Sign up: Users can create an account with their email and password. Login: Users can log in with their credentials and receive a JWT token for authentication.
Create Task: Add a new task with fields such as title, description, due date, and priority. View Tasks: View all tasks with optional sorting and filtering by priority or due date. Edit Task: Modify the details of an existing task. Delete Task: Remove a task from the list.
JWT Authentication: API endpoints are secured using JWT tokens. Only authenticated users can perform CRUD operations.
ASP.NET Core (C#) Entity Framework Core (for database interaction) SQL Server JWT (for authentication)
React.js React Router (for routing) Axios (for API integration) Bootstrap (for styling)
SQL Server
Clone the repository
cd task-management-frontend
Install dependencies:
npm install
Start the React development server:
npm start
Clone the repository:
cd task-management-backend
Restore the .NET dependencies:
dotnet restore
Run the backend API:
dotnet run
The backend will be running at http://localhost:5003.
Change the database connection string in appsettings.json.
Delete the Migrations folder
Run following commands
dotnet ef migrations add InitialCreate
dotnet ef database update
Start both the frontend and backend servers.
The frontend will automatically interact with the backend API.
React 18+
Axios
Bootstrap
.NET 8
Entity Framework
JWT Authentication: Managing JWT tokens and ensuring protected routes are accessible only to authenticated users.
State Management: Efficiently managing state in React, especially with authentication and task CRUD operations.
MIT License - See LICENSE for more details.