Full-stack task management app with .NET 8, React + TypeScript and Docker featuring JWT auth and comprehensive task management
- 🔐 JWT Authentication
- ✅ CRUD operations for tasks
- 🔍 Advanced filtering & sorting
- 📱 Responsive design
- 🧪 Unit & Integration tests
- 🐳 Docker support
cd backend/TaskManagementSystem/TaskSystem
dotnet tool install --global dotnet-ef
dotnet ef database update
dotnet run
cd frontend
npm install
npm run dev
cd backend/TaskManagementSystem/TaskSystem.Tests
dotnet test
-
Integration Tests:
- Full CRUD operations
- Authentication flow
- Database interactions
-
Unit Tests:
- Task service operations
- Sorting functionality
- Filter validations
- .NET 8
- SQL Server + Dapper
- JWT Authentication
- xUnit for testing
- React + TypeScript
- Tailwind CSS
- React Hook Form
- POST
/api/account/register
- POST
/api/account/login
- GET/POST
/api/tasks
- PUT/DELETE
/api/tasks/{id}
- PATCH
/api/tasks/{id}/complete
- JWT with refresh tokens
- Password hashing
- Protected routes
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/
When running the app with Docker, you should use the backend API URL as:
BACKEND_API_URL=http://localhost:9000/
For frontend requests, use the environment variable:
FRONTEND_API_URL=http://localhost:5173/