A production-ready full-stack task management application built with modern web technologies. This project demonstrates real-world software development practices including frontend-backend architecture, REST API development, database design, ORM integration, cloud deployment, and CI-ready project structuring.
The application allows users to manage tasks efficiently with features like task creation, updating, filtering, soft deletion, priority tracking, overdue detection, and responsive UI support.
- Create tasks
- Edit existing tasks
- Delete tasks
- Soft delete & restore functionality
- Permanent delete support
- Due date validation
- Overdue task detection
- Status tracking
- Search tasks instantly
- Filter by category
- Filter by priority
- Pagination support
- Fully responsive design
- Dark mode support
- Toast notifications
- Clean dashboard layout
- RESTful API architecture
- Prisma ORM integration
- PostgreSQL relational database
- Type-safe backend using TypeScript
- Swagger API documentation
- React 19
- TypeScript
- Vite
- Tailwind CSS
- Axios
- React Router DOM
- React Hot Toast
- Lucide React Icons
- Node.js
- Express.js
- TypeScript
- Prisma ORM
- PostgreSQL
- Swagger UI / OpenAPI
- PostgreSQL
- Neon Cloud Database
- Vercel (Frontend Hosting)
- Render (Backend Hosting)
- Neon (Cloud PostgreSQL)
- Git & GitHub
- npm
- Prisma Migrations
- REST API Testing
- Environment Variables
- TypeScript Compiler
Frontend (React + Vite)
│
│ Axios API Requests
▼
Backend (Node.js + Express)
│
│ Prisma ORM
▼
PostgreSQL Database (Neon)
Task-Management-System/
│
├── Backend/
│ ├── prisma/ # Prisma schema & migrations
│ ├── src/
│ │ ├── routes/ # Express routes
│ │ ├── services/ # Business logic
│ │ ├── swagger/ # Swagger configuration
│ │ └── index.ts # Entry point
│ │
│ ├── package.json
│ ├── tsconfig.json
│ └── .env
│
├── Frontend/
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── context/ # React Context API
│ │ ├── pages/ # Application pages
│ │ ├── services/ # Axios API integration
│ │ └── App.tsx
│ │
│ ├── public/
│ ├── package.json
│ └── vite.config.ts
│
├── .gitignore
└── README.md
git clone https://github.com/YogeshwaranOfficial/Task-Management-System.gitcd Backendnpm installCreate a .env file:
DATABASE_URL=your_postgresql_connection_url
PORT=5000npx prisma generatenpx prisma migrate devnpm run devnpm run build
npm startcd Frontendnpm installCreate a .env file:
VITE_API_URL=http://localhost:5000/apinpm run dev- Hosted on Vercel
- Connected directly with GitHub repository
- Environment variables configured in Vercel dashboard
- Hosted on Render Web Service
- Prisma migrations executed during deployment
- Production build generated automatically
- PostgreSQL database hosted on Neon
- Migrated local PostgreSQL data to Neon Cloud
Swagger/OpenAPI documentation is available through the backend server.
Example:
/api-docs
This project demonstrates practical understanding of:
- Component-based architecture
- State management using Context API
- API integration using Axios
- Responsive UI design
- Dark mode implementation
- REST API development
- Express middleware usage
- Service-layer architecture
- TypeScript backend development
- Error handling
- Request validation
- Relational database modeling
- Prisma schema design
- Database migrations
- CRUD operations
- Cloud database integration
- GitHub repository management
- Environment variable management
- Vercel deployment
- Render deployment
- Neon PostgreSQL hosting
- Production build handling
- Prisma version compatibility debugging
- Build pipeline troubleshooting
- Render deployment debugging
- Backend path resolution fixes
- Database migration handling
- API routing corrections
Planned improvements for future versions:
- User Authentication (JWT)
- Role-Based Access Control
- Real-time notifications
- Task collaboration
- Drag & Drop Kanban Board
- File upload support
- Email reminders
- Activity logs
- Docker containerization
- CI/CD with GitHub Actions
- Unit & Integration Testing
- Redis caching
- WebSocket integration
- Advanced analytics dashboard
Add application screenshots here later.
Contributions, improvements, and suggestions are welcome.
Fork → Clone → Create Branch → Commit → Push → Pull RequestThis project is licensed under the MIT License.
Developed by Yogeshwaran S
GitHub Repository: Task Management System Repository