A multi-tenant project management platform.
- Docker & Docker Compose
- Node.js 22+
- npm
-
Clone the repository
git clone https://github.com/AbhishekJadhav2002/asva-labs-assessment.git cd asva-labs-assessment -
Start development environment
chmod +x scripts/*.sh npm run devThis will:
- Start all infrastructure services (PostgreSQL, Redis, Kafka)
- Install dependencies
- Run database migrations
- Seed demo data
- Start API and Frontend servers
-
Access the application
- Frontend: http://localhost:3000
- API: http://localhost:3001
- Admin: admin@demo.com / demo123 / tenant: demo
- User: user@demo.com / demo123 / tenant: demo
npm run dev- Start development environmentnpm run build- Build for productionnpm run prod- Start production environmentnpm test- Run testsnpm run clean- Clean up containers, images and build files
Create .env file using .example.env in the root directory:
cp .example.env .envPOST /api/auth/register- Register new userPOST /api/auth/login- User loginPOST /api/auth/refresh- Refresh access token
GET /api/projects- List projectsPOST /api/projects- Create projectGET /api/projects/:id- Get project detailsPUT /api/projects/:id- Update projectDELETE /api/projects/:id- Delete project
GET /api/tasks/project/:projectId- List project tasksPOST /api/tasks- Create taskGET /api/tasks/:id- Get task detailsPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
Run the test suite:
npm testTests include:
- Unit tests for services
- Integration tests for API endpoints
- Authentication flow tests
npm run proddocker compose -f docker-compose.yml up -d