Skip to content

RaghavGanesh7/TaskManagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Management

Full-stack task management application with a .NET Web API backend, SQL Server data store, JWT authentication, and React frontend. image image image

Project structure

Path Description
backend/ .NET 8 Web API, JWT auth, application/domain/infrastructure projects, EF Core migrations, tests
frontend/ React + Vite + TypeScript SPA with login/register flow (frontend README)

Prerequisites

  • .NET 8 SDK
  • Node.js 20+
  • SQL Server (Docker, LocalDB, or another local instance)
  • EF Core CLI: dotnet tool install --global dotnet-ef

Backend setup

From backend/:

cp TaskManagement.Api/appsettings.Development.example.json TaskManagement.Api/appsettings.Development.json
dotnet ef database update --project TaskManagement.Infrastructure --startup-project TaskManagement.Api
dotnet run --project TaskManagement.Api

Set a strong Jwt:SecretKey in local/user secrets or environment-specific config before running outside local development.

Frontend setup

From frontend/TaskManagement.Web/:

cp .env.example .env
npm install
npm run dev

In development, /api is proxied to BACKEND_URL in .env (default http://localhost:5296). See frontend/README.md for environment variables and API details.

Override for a single run without editing files:

BACKEND_URL=http://localhost:5296 npm run dev

Tests

Backend — from backend/:

dotnet test TaskManagement.sln --nologo

Frontend — from frontend/TaskManagement.Web/:

npm run test:run
npm run build
npm run lint

Features

  • Register and sign in with JWT bearer authentication
  • Protected task API endpoints
  • List tasks with status and priority filters
  • Create, edit, and soft-delete tasks
  • Priority visual indicators
  • Task summary grouped by status and priority
  • Global API exception handling
  • EF Core Code First migrations and seed data

Auth flow

  1. Register or sign in through the React app.
  2. The backend returns a JWT access token.
  3. The frontend stores the token and sends it as Authorization: Bearer <token> for task API requests.
  4. The backend rejects missing or invalid tokens with 401 Unauthorized.

About

Full-stack task management application with a .NET Web API backend, SQL Server data store, JWT authentication, and React frontend.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors