brammie15 314717ba3a
CI / build-and-test (push) Canceled after 0s
feat: move to V2
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-19 21:41:07 +02:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-10-29 11:21:52 +01:00
2026-09-19 22:19:35 +02:00

KoolTap

The backoffice for KoolTap, the bar till: bar terminals (a Flutter app) sync their tabs, sales and stock here, and the venue runs tabs, customers, reminders and stock from a web dashboard.

apps/
  api/          NestJS API on PostgreSQL (Prisma)
  dashboard/    Next.js dashboard
packages/
  shared/       The contract: zod schemas and types for the terminal protocol and the dashboard API
scripts/
  terminal-simulator.ts   A terminal on the command line
docs/           Architecture, terminal protocol, development, production, security, testing

Quick start

Needs Node.js 24, pnpm (corepack enable) and Docker for the database.

docker compose up -d                 # PostgreSQL on localhost:5432
cp .env.example apps/api/.env        # and NEXT_PUBLIC_API_URL into apps/dashboard/.env.local
pnpm install                         # also generates the Prisma client
pnpm db:migrate
pnpm db:seed
pnpm dev                             # API on :3001, dashboard on :3000

The seed prints the demo accounts (one per role) and a terminal token; pnpm simulate then plays a terminal against your local API.

Tests

pnpm test        # unit tests: the tab, stock and product rules, parsing, email templates, dashboard helpers
pnpm test:e2e    # the API against a real database (DATABASE_URL), terminal and dashboard together

More

S
Description
No description provided
Readme
1.4 MiB
Languages
TypeScript 98.2%
JavaScript 0.6%
HTML 0.5%
Dockerfile 0.4%
CSS 0.3%