A full-stack project management application inspired by Asana, built with:
- Frontend: Next.js + MUI
- Backend: NestJS + TypeORM
- Database: PostgreSQL
- 🔐 Register/Login
- ➕ Add Teams (CRUD)
- 👨💼 Assign Team Leads (1 Lead per team max)
- 👀 View all Projects and Tasks across the organization
- 🔐 Register/Login
- 📁 Create, Update, Delete Projects (Team-specific)
- 📝 Add Tasks inside a Project
- 👤 Assign Tasks to any Member in the Team
- ⏳ Default Task Status is
Pending
- 🔐 Register/Login
- 📂 View Projects (Only where task is assigned)
- ✅ Update Status of assigned tasks:
Pending
On-Hold
Completed
- 🎨 Intuitive and minimal layout using Material UI (MUI)
- ⚡ Seamless experience for Admin, Team Leads, and Members
- 🔐 Role-based UI rendering for restricted access
Layer | Tech Used |
---|---|
Frontend | Next.js, React, MUI, Axios |
Backend | NestJS, TypeORM, JWT, bcrypt |
Database | PostgreSQL |
Dev Tools | ESLint, Prettier, Docker (optional) |
/asana-frontend ← Next.js frontend
/asana-backend ← NestJS backend (API, services, auth, etc.)
git clone https://github.com/your-username/asana-clone.git
cd asana-clone
Create a .env
file in both asana-frontend/
and asana-backend/
with the appropriate values:
DATABASE_URL=postgres://user:password@localhost:5432/asana
JWT_SECRET=your_jwt_secret
PORT=5000
cd asana-backend
npm install
npm run start:dev
Make sure PostgreSQL is running and the DB exists.
cd asana-frontend
npm install
npm run dev
# Start dev server
npm run start:dev
# Run database migrations
npm run migration:run
# Start frontend dev server
npm run dev