Paceplan — timeline-centric project management
Tech stack
- Next.js 15 (App Router, Server Components, Server Actions)
- Supabase (Postgres + Auth)
- Tailwind CSS 4 (tokens via @theme)
Getting started
- Copy env vars
- cp .env.example .env.local
- Optional: Fill
NEXT_PUBLIC_SUPABASE_URLandNEXT_PUBLIC_SUPABASE_ANON_KEYfor real Supabase - If omitted, the app runs in mock mode (no backend required)
- Install deps and run
- npm install
- npm run dev
Database
- Apply SQL in
supabase/migrations/using Supabase Studio or CLI (only needed when not using mock mode).
Mock mode
- Activated automatically when Supabase env vars are missing, or by setting
NEXT_PUBLIC_USE_MOCK=1. - Uses filesystem-backed JSON under
mockdb/and a cookie for auth. - Tables:
mockdb/users.json,mockdb/projects.json,mockdb/milestones.json,mockdb/tasks.json. - Data persists across dev restarts and can be deleted by removing files in
mockdb/.
Auth flow
- Public routes live under
app/(public)(landing, login) - Protected routes under
app/(protected)(dashboard, projects) - Protection is enforced in the protected layout via Supabase session check
Projects
- Create projects at
/projects. CRUD uses server actions inapp/(protected)/projects/actions.ts.
Next steps
- Timeline view rendering milestones and tasks
- Folder tree by milestone
- Docs linking and critical path logic
Demo
- Public preview at
/demoshows the live demo timeline without login. - The navbar also has a "Live Demo" link and a "Try Demo" button to sign in as the demo user and jump straight to the demo project.