inmydraft
POS Cafe

POS Cafe

Starter app draft for a small online shop or POS workflow with enough structure to continue from.

App DraftAvailableBusiness AppRp 17.000IntermediateUpdated 2026-07-09Next.js 16 (App Router), React 19, TypeScript, Prisma 7 + PostgreSQL (Neon), iron-session, TanStack Query, Tailwind CSS, GSAP, QR code generation
عرض تجريبي

الوصف

Complete cafe point-of-sale system with three ordering paths (cashier, web self-order, per-table QR), a live kitchen board, a table floor with status tracking, a manager dashboard, and full admin CRUD. Sold as a rebrandable draft — the main things left to customize are the brand and the payment gateway.

ما يعمل بالفعل

  • Public cafe landing page with menu highlights, location, and hours
  • PIN login with 3 roles: cashier, kitchen, manager
  • Cashier POS: product grid, cart, dine-in/takeaway, table picker, mock payment
  • 3 ordering paths: cashier, web self-order, and per-table QR ordering
  • Live kitchen board (received → preparing → ready → completed)
  • Table floor with available / occupied / reserved status
  • Manager dashboard: revenue, orders, top products
  • Admin CRUD for products, categories, inventory, and tables
  • Receipt view with browser print, and bulk QR code printing per table

ما هو مُدرج

  • Full source code
  • README and setup guide
  • InMyDraft Commercial License
  • AI-ready docs (PRD, technical spec, deployment notes)
  • Prisma seed data
  • Vitest unit tests

طريقة التشغيل

  1. Unzip the source, copy .env.example to .env, and set DATABASE_URL (PostgreSQL, Neon recommended) and SESSION_SECRET (min. 32 random characters).
  2. Run npm install.
  3. Run npm run db:push to sync the Prisma schema to your database.
  4. Run npm run db:seed to load demo menu, tables, and users.
  5. Run npm run dev and open http://localhost:3000.
  6. For production: npm run build then npm start; deploy to Vercel with the same environment variables.

ملاحظات المتابعة

  • Set DEMO_MODE=false before going live — the demo build ships a one-click auth bypass so buyers can explore without a PIN.

القيود المعروفة

  • Demo PINs are stored in plaintext — must be hashed and rate-limited before production use
  • Payment gateway is a mock only — a real provider (Midtrans, Xendit, Stripe) needs to be wired in, though the interface is ready for it
  • No multi-branch or multi-outlet support
  • No customer accounts, loyalty, or promotions
  • Receipt printing is browser-print only, no thermal printer support