Task Board (COP290 Assignment 2)
Node.js 20+ and npm
PostgreSQL (running)
2) Backend Setup (/backend)
Install dependencies:
Create .env with:
PORT = 8000
DATABASE_URL = postgresql://<user>:<password>@localhost:5432/<db_name>
CORS_ORIGIN = http://localhost:5173
ACCESS_TOKEN_SECRET = <your_secret>
ACCESS_TOKEN_EXPIRY = 1d
REFRESH_TOKEN_SECRET = <your_secret>
REFRESH_TOKEN_EXPIRY = 7d
DEFAULT_ADMIN_EMAIL = admin@test.com
DEFAULT_ADMIN_PASSWORD = password@123
Run migrations and start:
npx prisma generate
npm run dev
3) Frontend Setup (/frontend)
Install dependencies:
Optional .env:
VITE_API_BASE_URL = http://localhost:8000/api
Start:
Open http://localhost:5173
Sign up a user, or login as seeded admin (DEFAULT_ADMIN_EMAIL / DEFAULT_ADMIN_PASSWORD)
Create project -> open project -> open board -> create/move tasks
Base Code Structure And Tech Stack
backend/: Express + Prisma + PostgreSQL API (controllers, routes, middlewares, utils, db/prisma)
frontend/: React + Vite app (pages, api, context, types)
a2.pdf: assignment specification used for this checklist
Frontend: React 19, TypeScript, Vite, React Router, CSS Modules, Axios
Backend: Node.js, Express 5, TypeScript, Prisma ORM, PostgreSQL
Auth/Security: JWT, HTTP-only cookies, bcrypt
Data features: task workflow, project roles, comments, notifications, audit logs