barOS is the open-source operating layer for high-performing hospitality venues — the place where guest relationships, front-of-house execution, and back-office control finally share one source of truth. It is built for operators who have outgrown fragmented spreadsheets, siloed apps, and “good enough” tooling, and who want a single narrative from first touch to repeat visit.
Think of barOS as your venue-wide nervous system: capture signal at the door and the bar, turn it into insight in the office, and give every guest a reason to return — without bolting on yet another disconnected SaaS SKU.
- One platform story — CRM, loyalty, reservations, operations, and marketing workflows read from the same data model, so your team stops reconciling exports and starts acting on facts.
- Revenue and retention in the same lens — understand who visits, what they buy, how they engage with events, and how your floor and campaigns perform — without exporting to a third-party BI tool for every question.
- Guest-grade experience — a dedicated customer experience that feels intentional, on-brand, and fast on mobile — not an afterthought login tacked onto an admin product.
- Operator-grade depth — role-aware surfaces for staff, managers, and admins, with operational modules that mirror how real venues run shifts, inventory, procurement, and compliance.
- Own your roadmap — AGPL-3.0 for open use; self-host, fork, and extend. Commercial licensing is available when you need a proprietary distribution or white-label arrangement.
Built for the bar. Ready for the whole venue.
barOS ships as a Progressive Web App (PWA) so your customer portal behaves like a first-class app without waiting on App Store or Play Store approval cycles.
- iPhone and iPad (iOS) — guests can use Safari to Add to Home Screen for a full-screen, app-like launcher experience with fast repeat access.
- Android — guests can Install app from Chrome (and compatible browsers) for the same home-screen, low-friction pattern they expect from native clients.
- Offline-aware UX — dedicated offline shell (
/~offline) so spotty Wi‑Fi in the basement bar or the patio does not strand the experience. - Web push foundation — project includes web push plumbing for operational and engagement notifications as you choose to enable them.
You keep one codebase for mobile web, installed PWA, and desktop — fewer branches to test, fewer “mobile vs desktop” feature gaps, and a faster path from idea to production.
Below is the full surface area of the product as reflected in the application today — from guest-facing journeys to deep operational modules.
- Dashboard — at-a-glance loyalty and engagement.
- Bookings — view and manage reservations tied to the guest.
- Check-in — venue and flow-aware check-in experiences.
- Events — browse programming and participate in the event lifecycle.
- Loyalty — points, status, and progression in plain language.
- Rewards — discover, understand, and redeem perks.
- Menu — browse offerings in a mobile-first layout.
- Profile — self-service identity and preferences.
- Socials — connect the guest-facing social layer to your venue story.
- Analytics — venue analytics for trends and performance.
- Bookings — staff-side reservation pipeline and detail views.
- Calendar — time-based planning across service and events.
- Customers — profiles, history, segmentation inputs, and customer detail drill-down.
- Loyalty forecast — forward-looking loyalty and engagement signals for CRM decisions.
- Visits — visit history, patterns, and operational hooks.
- Feedback — structured capture of guest sentiment.
- Referrals — growth and advocacy mechanics.
- Rewards (staff) — administer and align rewards with policy.
- Menu (public browse) and menu management — from curated guest menu to back-office structure, modifiers, and costing discipline.
- Menu cost calculator — margin and plate-economics thinking without leaving the OS.
- Inventory — stock positions, inventory detail, and inventory logs for traceability.
- Marketing — campaign and channel thinking in-product, plus marketing revenue estimator for scenario planning.
- Socials (staff) — operational social publishing and coordination.
- Events — lifecycle, detail pages, and operational hooks.
- Event templates — list, detail, create, and edit reusable event blueprints.
- Event check-in — dedicated check-in routes for event-scoped arrival (
/checkin/[eventId]).
- Staff — roster concepts, invitations, and staff administration.
- Schedule — shifts and coverage planning.
- Tasks — work tracking that survives the noise of a real service week.
- Profile — operator profile and preferences.
- Dashboard — operational command center.
- Dashboard — events — event-centric slice for busy nights.
- Dashboard — financial — financial rollups for leadership.
- Dashboard — inventory — stock and variance visibility for managers.
- Dashboard — marketing — connect growth activity to operational reality.
- Operations hub — front door into the operational module set.
- Point of sale & service — checkout, KDS (kitchen display), BDS (bar display), orders, tables, occupancy, stock control.
- Menu engineering — profitability and mix discipline tied to real menu data.
- Pricing — structured pricing windows and controls.
- Procurement — purchasing and receiving workflows.
- Receipts — receipt-level traceability for audits and service recovery.
- Gift cards — issuance and redemption flows.
- Event commerce — ticketing and event-adjacent commerce.
- Memberships — plans, assignment, and status.
- Consents — consent capture and listing aligned to operational and regulatory needs.
- Customer comms — operational communications surface.
- Integrations — third-party and internal integration status and controls.
- Offline sync — batch-oriented resilience for flaky connectivity environments.
- Locations — multi-location and floor discipline.
- Staff time — time tracking hub with timesheets, anomalies, and payroll-oriented reporting entry points.
- Checklists — turn recurring operational excellence into accountable lists.
- Admin RBAC — role-based access control administration.
- Landing — public storytelling and entry.
- Login / register — secure auth flows.
- Auth callback — OAuth and provider return handling.
- Privacy — published privacy posture for guest and operator trust.
Beyond pages, barOS exposes a large route-handler API surface (bookings, customers, events, inventory, marketing, menu, operations, GDPR tooling, integrations, push, rewards, RSVPs, schedule, staff, tasks, visits, waitlist, and more) so you can integrate kiosks, partners, and custom channels without forking the core model.
Images live under public/screenshots/ so they render on GitHub and are served at /screenshots/... when the app runs.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
flowchart LR
subgraph client [Browser]
UI[Next.js App Router]
end
subgraph edge [Vercel / Node]
API[Route handlers with security wrappers]
end
subgraph data [Supabase]
PG[(Postgres + RLS)]
Auth[Auth]
end
UI --> API
API --> PG
UI --> Auth
- Application — Next.js 15, React 19, TypeScript, App Router.
- Data & auth — Supabase (Postgres, Auth, row-level security).
- UI — Tailwind CSS, Radix primitives, shadcn-style component patterns.
- Quality — Jest, Testing Library, accessibility and security-oriented test suites.
- Observability — Sentry-ready instrumentation for server, client, and edge.
- PWA — Serwist / service worker pipeline for installability and offline shell.
git clone https://github.com/stoimenovskiv/BarOS.git
cd BarOS
npm install
npm run devCopy the environment template before running:
- Windows (PowerShell):
Copy-Item .env.example .env.local - macOS/Linux:
cp .env.example .env.local
Then apply schema files in order inside the Supabase SQL editor:
schemas/01-extensions.sql through schemas/11-seed-demo-users.sql
Full setup: docs/QUICKSTART.md
- Create a Supabase project.
- Copy
.env.exampleto.env.local. - Fill required values in
.env.local:NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY
- Run schema files in order (
schemas/01toschemas/11) from the Supabase SQL editor. - Start the app with
npm run dev. - Open
http://localhost:3000and log in with demo credentials.
Only demo credentials are published:
- Admin:
admin@example.com/admin123 - Customer:
customer@example.com/customer123
Defined in schemas/11-seed-demo-users.sql.
npm run dev— start local appnpm run dev:turbo— start dev server with Turbopacknpm run build— production buildnpm run start— run production build locallynpm run test— run Jest test suitenpm run test:ci— CI testsnpm run verify:schema— verify canonical schema parity with CSV sourcenpm run verify:secrets— scan tracked files for credential leaksnpm run verify:all— run all quality, security, and schema checks
Required production environment variables are documented in docs/deployment/environment.md.
- App fails on startup: check
.env.localvalues and the Supabase project URL and key pair. - Auth or permission errors: re-apply
schemas/08-rls-policies.sqland confirm the full schema sequence was applied. - Schema verify fails: regenerate canonical schema from CSV using
node scripts/tools/generate-canonical-schema-from-csv.mjs "<path-to-csv>" - CI verify fails: run
npm run verify:alllocally to identify the first failing check.
src/— application routes, UI, APIs, stores, and librariesschemas/— canonical SQL schema, policies, and seed filesscripts/verify/— verification checks used in CIdocs/— architecture, quickstart, security, and deployment documentation
- Contributing:
CONTRIBUTING.md - Security policy:
SECURITY.md - Code of conduct:
CODE_OF_CONDUCT.md - Open-source use under AGPL-3.0
- Commercial use requires a paid license from the maintainer
- Details:
LICENSEandCOMMERCIAL_LICENSE.md



























