Skip to content

Full-stack task management app with .NET 8 and React + TypeScript, featuring JWT auth and comprehensive task management.

Notifications You must be signed in to change notification settings

hamzajashari/TaskManagementSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Management System

Full-stack task management app with .NET 8, React + TypeScript and Docker featuring JWT auth and comprehensive task management

Features

  • 🔐 JWT Authentication
  • ✅ CRUD operations for tasks
  • 🔍 Advanced filtering & sorting
  • 📱 Responsive design
  • 🧪 Unit & Integration tests
  • 🐳 Docker support

Quick Start

Backend Setup

cd backend/TaskManagementSystem/TaskSystem
dotnet tool install --global dotnet-ef
dotnet ef database update
dotnet run

Frontend Setup

cd frontend
npm install
npm run dev

Running Tests

cd backend/TaskManagementSystem/TaskSystem.Tests
dotnet test

Test Coverage

  • Integration Tests:

    • Full CRUD operations
    • Authentication flow
    • Database interactions
  • Unit Tests:

    • Task service operations
    • Sorting functionality
    • Filter validations

Tech Stack

Backend

  • .NET 8
  • SQL Server + Dapper
  • JWT Authentication
  • xUnit for testing

Frontend

  • React + TypeScript
  • Tailwind CSS
  • React Hook Form

API Endpoints

Auth

  • POST /api/account/register
  • POST /api/account/login

Tasks

  • GET/POST /api/tasks
  • PUT/DELETE /api/tasks/{id}
  • PATCH /api/tasks/{id}/complete

Security

  • JWT with refresh tokens
  • Password hashing
  • Protected routes

Docker Setup

Environment Variables

In your .env file, add the following configuration based on your environment:

# For local environment
VITE_API_URL=https://localhost:5001/

# For production environment
VITE_API_URL=http://localhost:9000/

Backend API URL (for Docker)

When running the app with Docker, you should use the backend API URL as:

BACKEND_API_URL=http://localhost:9000/

Frontend API URL

For frontend requests, use the environment variable:

FRONTEND_API_URL=http://localhost:5173/

About

Full-stack task management app with .NET 8 and React + TypeScript, featuring JWT auth and comprehensive task management.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages