A professional, production-ready task management platform designed for teams and individuals to efficiently manage projects, tasks, and collaborate in real-time. TaskMaster features enterprise-level architecture, robust security, and a modern, responsive user interface.
- Task Management: Create, update, and organize tasks with status tracking (Todo, In Progress, In Review, Done)
- Kanban Board: Visual drag-and-drop interface for intuitive task management
- Project Management: Organize tasks by projects with custom colors and descriptions
- Real-time Collaboration: WebSocket-based real-time updates for comments and notifications
- Advanced Filtering: Filter tasks by status, priority, assignee, tags, or project
- Search: Universal search across tasks and projects
- Analytics & Insights: Comprehensive dashboards with charts and statistics
- User Management: Role-based access control (Admin/User) with profile management
- Notifications: Real-time notifications with customizable preferences
- Comments System: Collaborative commenting with user mentions
- JWT Authentication: Secure token-based authentication with refresh tokens
- Email Password Reset: Email-based password reset with secure token links (expires in 1 hour) - requires SMTP configuration
- Dark/Light Theme: User preference-based theme switching
- Responsive Design: Mobile-first design that works on all devices
- API Documentation: Interactive Swagger/OpenAPI documentation
- Caching: Redis-based caching for improved performance
- Rate Limiting: Protection against abuse
This project is organized into three main components:
TaskMaster/
├── frontend/ # React + TypeScript + Vite frontend application
├── backend/ # NestJS + TypeScript backend API
└── documentation/ # Comprehensive project documentation
The frontend is a modern React application built with:
- React 18 with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- Redux Toolkit for state management
- React Router for navigation
- Socket.io Client for real-time features
- ApexCharts for data visualization
See frontend/README.md for frontend-specific setup instructions.
The backend is a robust NestJS API featuring:
- NestJS framework with TypeScript
- PostgreSQL database with TypeORM
- JWT authentication
- Socket.io for WebSocket support
- Redis caching (optional)
- Nodemailer for email services (password reset and notifications)
- Swagger API documentation
Comprehensive documentation is available in the documentation/ folder:
- System Overview: Complete feature list and system architecture
- Architecture: Detailed technical architecture
- Frontend Documentation: Frontend-specific guides
- Backend Documentation: Backend API and services
- Setup & Installation: Detailed setup instructions
- Deployment: Deployment guides
- API Documentation: API endpoints reference
- Configuration: Configuration options
- Setup Checklist: Quick setup checklist
- Node.js 18+ and npm 9+
- PostgreSQL 14+ (or Docker)
- Git
# Navigate to backend directory
cd backend
# Install dependencies
npm install
# Create environment file
node setup-env.js
# Edit .env file with your database credentials and secrets
# Generate JWT secrets: node scripts/generate-secrets.js
# Create database
# psql -U postgres
# CREATE DATABASE taskmaster;
# Run migrations
npm run migration:run
# Start development server
npm run start:devBackend will be available at http://localhost:3000
API documentation at http://localhost:3000/api/docs
# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Create environment file (if .env.example exists)
cp .env.example .env
# Start development server
npm run devFrontend will be available at http://localhost:5173
For password reset functionality, configure SMTP settings in the backend .env file:
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASSWORD=your-gmail-app-password
SMTP_FROM=your-email@gmail.comNote: Email configuration is optional. The application will run without it, but password reset functionality will not work. See Setup & Installation for detailed email setup instructions.
# Start all services (PostgreSQL, Redis, Backend)
docker-compose up -d- React 18 + TypeScript
- Vite
- Tailwind CSS
- Redux Toolkit
- React Router
- Socket.io Client
- ApexCharts
- React Hook Form + Zod
- NestJS + TypeScript
- PostgreSQL + TypeORM
- JWT Authentication
- Socket.io
- Redis (optional)
- Nodemailer
- Swagger/OpenAPI
- Docker & Docker Compose
- GitHub Actions (CI/CD)
- Vercel (Frontend deployment)
- Railway/Render (Backend deployment)
For detailed information, please refer to the comprehensive documentation:
- Getting Started: See Setup Checklist for a quick start guide
- Full Setup Guide: See Setup & Installation
- System Overview: See System Overview for complete feature list
- API Reference: See API Documentation or visit
/api/docswhen backend is running - Deployment: See Deployment Guide
- JWT-based authentication with refresh tokens
- Password hashing with bcrypt
- CORS protection
- Rate limiting
- Input validation
- SQL injection protection
- XSS prevention with Helmet
- Secure headers and environment-based secrets
This project is private and unlicensed.
This is a private project. For questions or issues, please contact the project maintainers.
Email: giftjtech@gmail.com Phone: (+265) 888347480
Built with ❤️ for All using modern web technologies