Skip to content

Latest commit

 

History

History
82 lines (56 loc) · 1.61 KB

File metadata and controls

82 lines (56 loc) · 1.61 KB

Task Board (COP290 Assignment 2)

How To Use This Project

1) Prerequisites

  • Node.js 20+ and npm
  • PostgreSQL (running)

2) Backend Setup (/backend)

  1. Install dependencies:
cd backend
npm install
  1. 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
  1. Run migrations and start:
npx prisma generate
npm run dev

3) Frontend Setup (/frontend)

  1. Install dependencies:
cd frontend
npm install
  1. Optional .env:
VITE_API_BASE_URL=http://localhost:8000/api
  1. Start:
npm run dev

4) Use The App

  • 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

Structure

  • 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

Tech Stack

  • 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