Skip to content

Frontend redesign — handover workspace (do not merge)#1

Draft
oliverhuangcode wants to merge 5 commits into
mac-hackathon-mvpfrom
frontend-redesign
Draft

Frontend redesign — handover workspace (do not merge)#1
oliverhuangcode wants to merge 5 commits into
mac-hackathon-mvpfrom
frontend-redesign

Conversation

@oliverhuangcode

Copy link
Copy Markdown
Contributor

⚠️ Not for merging

This is a handover / learning workspace for the frontend redesign, not a change set for the default branch. It deliberately removes working code (Past.tsx and FindTeam.tsx are stubbed into exercises), so merging this would regress the site. Kept as a draft so it can't be merged by accident.

What's here

Onboarding for a new first-year taking over the frontend:

  • FRONTEND_GUIDE.md — how the frontend works, how it talks to the backend, local setup, Tailwind, git basics, and two hands-on exercises.
  • BACKEND_GUIDE.md — the server side (Express + Drizzle + Postgres), the request lifecycle, project principles, and a matching exercise.
  • Stubbed exercises (originals remain on mac-hackathon-mvp):
    • web/src/pages/Past.tsx — read-only fetch + render.
    • web/src/pages/FindTeam.tsx — read + write with refresh.
    • src/server/routes/stats.ts — a new read-only GET /api/public/stats endpoint.
  • npm run db:seed — idempotent local seed (1 upcoming event, 2 past events, full content) so pages render while she works. Refuses to run under NODE_ENV=production.

Reference pages (Landing.tsx, Dashboard.tsx) and the whole backend are left intact as worked examples.

How she uses this branch

git checkout frontend-redesign
npm install
docker compose up -d db && npm run db:migrate && npm run db:seed
npm run dev   # → http://localhost:5173

The real redesign work happens on branches off this one; this PR just tracks the handover baseline.

oliverhuangcode and others added 5 commits July 15, 2026 22:48
Hand-off branch for a first-year redesigning the frontend. Adds
FRONTEND_GUIDE.md (data flow, request lifecycle, file map, local dev,
Tailwind, git basics) and empties Past.tsx + FindTeam.tsx into guided
TODO stubs so she rebuilds the fetch-then-render loop herself. Landing
and Dashboard stay intact as reference implementations; the original
Past/FindTeam remain on mac-hackathon-mvp as solutions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Companion to FRONTEND_GUIDE.md. BACKEND_GUIDE.md walks through the
request lifecycle, the file map, Drizzle/Postgres, and the project's
backend principles (whitelisting, server-side auth, serve-from-cache,
no hard deletes, derived state). Adds a stubbed, wired-in
GET /api/public/stats (routes/stats.ts) as a safe read-only exercise
that mirrors frontend Exercise 1 and can be surfaced on the redesigned
landing page.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
npm run db:seed fills an empty local DB with one upcoming event, two
past events, and a full set of content blocks (prizes/judges/schedule/
sponsors/FAQ) so the landing, /past, and dashboard pages render while
the frontend is being redesigned. Upserts by slug / notion page id, so
re-running is safe; refuses to run under NODE_ENV=production. Guides now
point at it instead of "ask Oliver".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds docker-compose.staging.yml — a separate Dokploy Compose stack that
runs the frontend-redesign branch at staging.hackathons.monashcoding.com
with its own Postgres, unique Traefik router/service names, and no
Humanitix/Notion keys. It self-seeds demo content on boot: the entrypoint
runs db:seed when ALLOW_SEED=1, and the seed guard now permits
NODE_ENV=production only under that same flag — so real production is
untouched. Runbook section added to docs/deploy-dokploy.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reworks both handover guides for a genuine fullstack beginner: a single
shared restaurant metaphor (dining room / waiter / kitchen / pantry /
suppliers) runs through both, framed as Part 1 → Part 2 of one story.
The backend guide now picks up the request journey exactly where the
frontend guide's waiter hands off, and the exercises are cross-linked as
mirror images. Same technical content, friendlier voice.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant