A modern, full-stack project management application with intelligent task scheduling capabilities. Built with ASP.NET Core Web API backend and React TypeScript frontend.
- Secure JWT Authentication - Token-based authentication with secure password hashing
- User Registration & Login - Complete user management system
- Protected Routes - Secure access to authenticated features
- Create & Manage Projects - Organize your work into projects
- Project Details - View project information and associated tasks
- Delete Projects - Remove projects when no longer needed
- Create Tasks - Add tasks to projects with titles and due dates
- Mark Complete - Toggle task completion status
- Delete Tasks - Remove tasks from projects
- Due Date Tracking - Visual indicators for overdue tasks
- Dependency Management - Define task dependencies and estimated hours
- Topological Sorting - Automatically calculates optimal task execution order
- Workflow Optimization - Minimizes project completion time
- Visual Task Flow - Clear step-by-step execution plan
- Black & White Theme - Clean, professional monochrome design
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Glass Morphism Effects - Modern UI with backdrop blur effects
- Smooth Animations - Engaging micro-interactions and transitions
- Loading States - Beautiful loading spinners and feedback
- Accessibility - WCAG compliant with proper focus management
backend/
βββ Controllers/ # API Controllers
βββ Models/ # Entity Framework Models
βββ DTOs/ # Data Transfer Objects
βββ Services/ # Business Logic Services
βββ Helpers/ # Utility Classes
βββ Program.cs # Application Entry Point
Key Technologies:
- .NET 7 - Modern C# framework
- Entity Framework Core - ORM for database operations
- SQLite - Lightweight database
- JWT Authentication - Secure token-based auth
- BCrypt - Password hashing
- Topological Sorting - Smart scheduling algorithm
frontend/
βββ src/
β βββ components/ # React Components
β βββ contexts/ # React Context (Auth)
β βββ services/ # API Service Layer
β βββ types/ # TypeScript Interfaces
β βββ App.tsx # Main Application
βββ public/ # Static Assets
Key Technologies:
- React 18 - Modern React with hooks
- TypeScript - Type-safe JavaScript
- React Router - Client-side routing
- Axios - HTTP client for API calls
- Context API - State management
- Custom CSS - Modern styling with animations
- .NET 7 SDK - Download here
- Node.js 16+ - Download here
- npm - Comes with Node.js
-
Clone the repository
git clone <repository-url> cd mini-pm
-
Backend Setup
cd backend dotnet restore dotnet runBackend will be available at:
http://localhost:5127 -
Frontend Setup
cd frontend npm install npm startFrontend will be available at:
http://localhost:3000
- Register a new account or Login with existing credentials
- Create Projects to organize your work
- Add Tasks to projects with due dates
- Use Smart Scheduler to optimize task execution order
- Track Progress by marking tasks as complete
POST /api/v1/auth/register- User registrationPOST /api/v1/auth/login- User login
GET /api/v1/projects- Get user's projectsPOST /api/v1/projects- Create new projectGET /api/v1/projects/{id}- Get project detailsDELETE /api/v1/projects/{id}- Delete project
POST /api/v1/projects/{projectId}/tasks- Create taskPUT /api/v1/tasks/{id}- Update taskDELETE /api/v1/tasks/{id}- Delete task
POST /api/v1/projects/{projectId}/schedule- Generate optimized schedule
The Smart Scheduler uses Topological Sorting (Kahn's Algorithm) to:
- Analyze Dependencies - Maps task relationships
- Calculate Critical Path - Identifies longest dependency chain
- Optimize Order - Minimizes total project completion time
- Handle Cycles - Detects and reports circular dependencies
- Generate Schedule - Provides step-by-step execution plan
{
"tasks": [
{
"title": "Design Database",
"estimatedHours": 4,
"dependencies": []
},
{
"title": "Create API",
"estimatedHours": 8,
"dependencies": ["Design Database"]
},
{
"title": "Build Frontend",
"estimatedHours": 12,
"dependencies": ["Create API"]
}
]
}- Monochrome Palette - Black, white, and gray tones
- Typography - System fonts with proper hierarchy
- Spacing - Consistent 8px grid system
- Shadows - Subtle depth and elevation
- Borders - Clean, minimal borders
- Mobile: < 640px
- Tablet: 640px - 1024px
- Desktop: > 1024px
- Hover Effects - Smooth color transitions
- Focus States - Accessibility-compliant focus indicators
- Loading States - Spinner animations
- Form Validation - Real-time error feedback
- JWT Tokens - Secure authentication
- Password Hashing - BCrypt encryption
- CORS Configuration - Cross-origin request handling
- Input Validation - Server-side validation
- SQL Injection Protection - Entity Framework parameterized queries
-
Build the application
dotnet publish -c Release -o ./publish
-
Deploy to server
- Copy publish folder to server
- Install .NET 7 Runtime
- Configure environment variables
- Run with
dotnet backend.dll
-
Build for production
npm run build
-
Deploy to static hosting
- Copy build folder to web server
- Configure API endpoint
- Set up HTTPS
# Backend
JWT_SECRET=your-secret-key
ASPNETCORE_ENVIRONMENT=Production
# Frontend
REACT_APP_API_URL=https://your-api-domain.comBuilt with β€οΈ using modern web technologies