🏆 Win Wall

A wall of testimonials / wins. People can submit testimonials, an admin can approve or reject them, and approved ones appear on the public wall.

Pages

  • / — Public win wall showing approved testimonials
  • /submit — Form for anyone to submit a testimonial
  • /admin — Admin panel to approve, reject, or delete testimonials

Architecture

Rendering mermaid diagram...

Project Structure

index.ts              — Hono HTTP server (entrypoint)
api/
  testimonials.ts     — REST API routes
database/
  queries.ts          — SQLite query functions
shared/
  types.ts            — TypeScript types shared between frontend & backend
frontend/
  index.html          — HTML shell
  index.tsx           — React entry point
  api.ts              — Client-side API helpers
  hooks/
    useRoute.ts       — Simple client-side router hook
  components/
    App.tsx            — Root component with routing
    Nav.tsx            — Navigation bar
    TestimonialCard.tsx — Card for the public wall
    AdminCard.tsx      — Card with approve/reject/delete actions
  pages/
    WallPage.tsx       — Public testimonials wall
    SubmitPage.tsx     — Submission form
    AdminPage.tsx      — Admin management panel