Skip to content

pubuduishandev/task-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚀 NestTask: Full-Stack Task Management

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.


📸 Preview

Login Page

Figure 1 - User Login Page

Register Page

Figure 2 - User Onboarding Page

Tasks Dashboard

Figure 3 -Tasks Dashboard


✨ Advanced Features

Security & Identity

  • 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.

Backend Excellence (NestJS)

  • 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.

Frontend Experience (React)

  • 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.

🛠️ Tech Stack

Backend (/task-app-backend)

  • Framework: NestJS
  • Auth: Passport.js & JWT
  • Documentation: Swagger UI
  • Database: PostgreSQL
  • ORM: Prisma v6
  • Tools: class-validator, bcrypt

Frontend (/task-app-frontend)

  • Framework: React 18 (Vite)
  • UI System: Ant Design (antd)
  • Animation: CSS Keyframes & Glassmorphism
  • State: React Hooks (useState/useEffect)
  • HTTP: Axios with Interceptors

📂 Project Structure

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


🚀 Installation & Setup

1. Backend Setup

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

2. Frontend Setup

cd task-app-frontend
npm install
npm run dev

🚀 Future Enhancements

  • 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.

👨‍💻 Author

Pubudu Ishan Wickrama Arachchi
Software Engineer
GitHub: @pubuduishandev
LinkedIn: @pubuduishandigital

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors