Cook and rider app for Kopi Boy — orders, deliveries, and payouts.
CommerceTypeScript · CSSGitHub @24LeveL42OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗One app for both cooks and riders (per the locked spec — one partner login, role determines the dashboard). Next.js 16 + TypeScript + Tailwind v4, same design tokens as Kopi Boy Customer and Kopi Boy HQ.
npm install
npm run dev # http://localhost:3000
npm run build
npm test # unit tests (Node's built-in test runner)
Optional:
ONEMAP_TOKEN — OneMap API token, sent as the Authorization header when
the kitchen setup form geocodes a postal code
(src/lib/geocode.ts). Not required: OneMap's search currently answers
without one. Server-only — never prefix it with NEXT_PUBLIC_.src/app/globals.css)/login/ gates on Supabase — sign in → apply
(cook or rider) → pending/rejected status screen → once HQ approves,
cooks are routed into kitchen setup, riders straight into the shellsrc/components/KitchenSetupForm.tsx,
/kitchen): mandatory business info + category + cuisine + at least one
menu item with a price (photo optional); saving flips kitchens.is_live
and the kitchen appears immediately in the Customer app. See
docs/feature-003.md.PartnerShell are still
PENDING/ACCEPTED/PREPARING/READY/COMPLETED demo data — real orders are
Feature #005/#006, real rider dispatch is #008PartnerShell is still a demo stand-in for switching
between cook/rider views — not real role-based routing (that part is
fine since role is now enforced server-side in page.tsx before the
shell ever renders)src/lib/demo-data.ts — orders/deliveries only now, not applications or
kitchens (those are real). No PayNow flow yet (#006).