Frontend redesign — handover workspace (do not merge)#1
Draft
oliverhuangcode wants to merge 5 commits into
Draft
Frontend redesign — handover workspace (do not merge)#1oliverhuangcode wants to merge 5 commits into
oliverhuangcode wants to merge 5 commits into
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a handover / learning workspace for the frontend redesign, not a change set for the default branch. It deliberately removes working code (
Past.tsxandFindTeam.tsxare 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.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-onlyGET /api/public/statsendpoint.npm run db:seed— idempotent local seed (1 upcoming event, 2 past events, full content) so pages render while she works. Refuses to run underNODE_ENV=production.Reference pages (
Landing.tsx,Dashboard.tsx) and the whole backend are left intact as worked examples.How she uses this branch
The real redesign work happens on branches off this one; this PR just tracks the handover baseline.