A simple Task Management ecosystem built with a focus on Security, Scalability, and Developer Experience. This project features a robust NestJS backend with JWT-protected REST APIs and a modern, high-performance React frontend.
- JWT Authentication: Secure stateless authentication using JSON Web Tokens.
- Encrypted Passwords: Industry-standard hashing using
bcrypt. - Data Isolation: Multi-user support where users can only access their own data via verified Token payloads.
- Automated API Docs: Interactive Swagger/OpenAPI documentation available at
/api. - Unified Response Envelope: All API responses (Success/Error) follow a standardized JSON structure via Global Interceptors and Exception Filters.
- Type-Safe ORM: Prisma v6 with PostgreSQL for predictable and fast database operations.
- Glassmorphism UI: A sleek, modern dark-themed interface built with Ant Design.
- Dynamic UX: Real-time feedback using AntD messages and Skeleton Loading for perceived performance.
- Stateful Navigation: Automatic login persistence and profile management.
- Service Layer: Fully decoupled Axios service architecture for clean API communication.
- Framework: NestJS
- Auth: Passport.js & JWT
- Documentation: Swagger UI
- Database: PostgreSQL
- ORM: Prisma v6
- Tools: class-validator, bcrypt
- Framework: React 18 (Vite)
- UI System: Ant Design (antd)
- Animation: CSS Keyframes & Glassmorphism
- State: React Hooks (useState/useEffect)
- HTTP: Axios with Interceptors
task-app/
├── task-app-backend/
│ ├── src/common/ # Global Interceptors & Exception Filters
│ ├── src/prisma/ # DB Modules & Services
│ ├── src/users/ # JWT Strategy & Passport Logic
│ ├── src/tasks/ # Task CRUD with User Ownership logic
│ └── prisma/ # Database Schema & Migrations
└── task-app-frontend/
├── src/api/ # Centralized Axios Client
├── src/services/ # Business logic services (Auth/Task)
├── src/pages/ # View components (Login/Register/Tasks)
└── src/types/ # Unified TypeScript Interfaces
cd task-app-backend
npm install
# Setup environment variables (.env)
DATABASE_URL="postgresql://user:pass@localhost:5432/task_manager"
JWT_SECRET="your_ultra_secure_secret"
# Sync database
npx prisma generate
npx prisma db push
# Start API (Documentation at http://localhost:3000/api)
npm run start:dev
cd task-app-frontend
npm install
npm run dev
- Mobile Application (React Native): Develop a cross-platform mobile companion app sharing the same backend ecosystem.
- Single Sign-On (SSO): Integrate OAuth2 authentication (Google, Facebook, Microsoft) to provide seamless, enterprise-grade login options.
- Task Reminders & Notifications: Implement a background job queue (using Redis and BullMQ) to send automated email and push notifications for approaching deadlines.
- Recurring Tasks: Add scheduling capabilities to support daily, weekly, or custom recurring task generation.
- Real-Time Synchronization: Integrate WebSockets (Socket.io) to instantly push state changes to the frontend, ensuring data is synced across multiple tabs or devices without refreshing.
- Collaborative Workspaces: Introduce role-based access control (RBAC) to allow users to share task boards, assign tasks to others, and collaborate in real-time.
- Smart AI Prioritization: Implement a lightweight machine learning model to automatically suggest task categories and priorities based on the task description and user behavior.
- Advanced Export & Analytics: Provide features to export task history to CSV/PDF and view productivity metrics via interactive dashboard charts.
Pubudu Ishan Wickrama Arachchi
Software Engineer
GitHub: @pubuduishandev
LinkedIn: @pubuduishandigital


