A full-stack project management application with a modern web UI and robust backend API. This monorepo contains both the frontend (client) and backend (server) codebases.
- Project, team, and task management
- Multiple project views: List, Board, Timeline, Table
- Task assignment, status, priority, and comments
- User authentication (Cognito integration placeholder)
- Search functionality
- Responsive, modern UI with MUI and Tailwind CSS
- Frontend: Next.js, React, Redux Toolkit, MUI, Tailwind CSS, TypeScript
- Backend: Node.js, Express, TypeScript, Prisma ORM, PostgreSQL
- Other: Docker (optional), dotenv, REST API
/ (root)
├── client/ # Next.js frontend
├── server/ # Express/Prisma backend
└── README.md # This file
- Node.js (v18+ recommended)
- Yarn or npm
- PostgreSQL database (local or cloud)
- Install dependencies:
cd server yarn install # or npm install
- Configure environment:
- Copy
.env.exampleto.envand set yourDATABASE_URL.
- Copy
- Generate Prisma client:
npx prisma generate
- Run migrations:
npx prisma migrate dev --name init
- Seed the database (optional):
yarn seed
- Start the server:
The API will be available at
yarn dev # or for production yarn build && yarn start
http://localhost:5000by default.
- Install dependencies:
cd client yarn install # or npm install
- Start the development server:
The app will be available at
yarn dev
http://localhost:3000.
The backend uses Prisma ORM with a PostgreSQL database. Main models:
- User: users, with team and task relations
- Team: teams, with users and projects
- Project: projects, with tasks and teams
- Task: tasks, with assignment, status, priority, attachments, comments
- Attachment, Comment, TaskAssignment: supporting models
See server/prisma/schema.prisma for full details.
GET /api/projects— List all projectsPOST /api/projects— Create a new projectGET /api/tasks— List all tasksPOST /api/tasks— Create a new taskPATCH /api/tasks/:taskId/status— Update task statusGET /api/search— Search projects/tasks