A RESTful API for managing tasks, teams, and users built with Node.js and Express.js.
- Framework: Express.js
- Database: PostgreSQL
- ORM: Prisma
- Language: TypeScript
- Validation: Zod
- Authentication: JWT
- Testing: Jest
- Containerization: Docker
- Deployment: Render
- User registration and login
- JWT-based authentication
- Role-based access control:
- Admin: Manages users and teams
- Member: Manages assigned tasks
- Admin-only team creation and editing
- Admin-only member addition/removal
- Full CRUD operations (Create, Read, Update, Delete)
- Status: "Pending", "In Progress", "Completed"
- Priority: "High", "Medium", "Low"
- Task assignment to specific team members
- View and manage all tasks, users, and teams
- View team tasks
- Edit only own tasks
- Node.js
- PostgreSQL
- Docker (optional)
- Clone the repository
- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env- Run database migrations:
npx prisma migrate dev- Start the development server:
npm run dev