A restaurant map built around places featured in Tzuyang videos.
Features · Preview · Local development · Repository · Documentation
- Discover restaurants: browse domestic and overseas maps, search and filter places, and open restaurant details with video sources.
- Keep track of visits: reviews, stamps, rankings, likes, and profiles connect discovery with community activity.
- Manage the data: the guarded admin console supports review, moderation, source checks, and audited changes.
- Prepare visual content: storyboard and thumbnail workspaces support planning, generation, and revision.
- Process video evidence: backend workers handle crawling, evaluation, media processing, and publication payloads.
Recorded interface demos from the repository:
Use Node.js 24.x and npm 11.6.2, as declared in apps/web/package.json. The local database setup also needs Python 3 and Docker with Compose; follow the pinned prerequisites in the local stack runbook.
-
Clone the repository and install the web dependencies:
git clone https://github.com/twoimo/tzudong.git cd tzudong/apps/web npm ci -
From the repository root, prepare and migrate the repository-managed local Supabase stack using the bootstrap instructions.
-
Return to
apps/weband start the development server:npm run dev
Open http://127.0.0.1:3000. The runner checks the generated local environment, service readiness, browser origin, and migration ledger before starting Next.js. Hosted debugging and map-provider configuration have separate setup instructions in the web development guide.
Bun is supported for everyday development. npm's manifest and lockfile remain the release package authority. Common checks from apps/web are:
npm run lint
npm run test:unit
npm run typecheck:parityChoose checks for the affected behavior using the verification guide.
| Path | Responsibility |
|---|---|
| apps/web/ | Next.js public app, restaurant maps, community features, and guarded admin console. |
| backend/ | Pipeline control, crawlers, evaluation, media workers, and Supabase migrations. |
| docs/ | Product design, architecture, operations, and release guidance. |
The web app and backend workers share Supabase as their persistence boundary. Long-running crawling and media work belongs to backend workers. See the backend architecture and data contracts for the detailed flow.
| Web stack | Tooling and services |
|---|---|
| Next.js 16 · React 19 · TypeScript | Tailwind CSS · Radix UI · Lucide |
| Node.js 24.x · npm 11.6.2 | Bun for everyday development |
| Supabase | PostgreSQL · Auth · Storage |
Exact dependencies are in package.json and package-lock.json.
| Start here | Contents |
|---|---|
| Documentation index | Cross-project guides and where documentation belongs. |
| Web development | Local and hosted development, configuration, and web commands. |
| Backend operations | Pipeline entry points, environment contracts, and run summaries. |
| Product design · Architecture diagrams | Product surfaces and system diagrams. |
| Verification · Nightly operations | Scoped checks and the independent regression lane. |
| Release guide | Protected promotion, rollback, and deployment readback. |
| Performance evidence · Changelog | Dated measurements, their scope and limits, and change history. |
Changes follow the protected develop → data → main path. A production release needs the approved commit and deployment readback described in the release guide. CI, Nightly regression, and production deployment are tracked separately.
Report security issues using SECURITY.md. Source license: MIT.





