FloCafe
FloCafe is the free, local-first restaurant POS in the FloPOS ecosystem. Run orders, tables, kitchen display, and local data without a software subscription.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Answerd: the UK local-services app where every business picks up. Clickable prototype (customer app, business mode, dashboard, admin, AI desk) and the Answerd website.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗The frontend for Answerd, the UK local services app where every business picks up, built by Vitalos. This repo holds the clickable prototype and the Answerd website (marketing-site/). The backend runs on Vitalos Workforce and lives in a separate private repository.
The clickable prototype is built from docs/answerd-spec.md. All 155 IDs in the spec are on screen: the customer app, business mode, the business web dashboard, the admin console, the ten AI desk behaviours and Ask Answerd. Everything runs against one shared demo store, so a change on one surface shows up on all the others.
COVERAGE.md lists every ID with its route, status and any deviation from the spec.
pnpm install
pnpm dev # http://localhost:3000, opens on the hub
pnpm build && pnpm start # production build
pnpm lint
Start at /hub.
The hub (/hub) drives the demo. From it you can:
?clean=1 to any URL to hide the prototype chrome.| Persona | Who | Lands on |
|---|---|---|
| Guest | Not signed in | C-09 Home; asked to sign in to message or book |
| Tayo A. | Customer in SE25: 3 past bookings, 1 upcoming with Swift Plumbing on Thu 29 Oct at 2pm | C-09 Home |
| Sam Okafor | Owns Swift Plumbing & Heating (desk live); also a customer | B-18 Today in business mode, or W-13 on the web |
| Jo Reid | Staff at Swift: Today, Inbox and Diary only, own jobs only | B-18 Today |
| Ife Bello | Answerd admin, full access | /admin |
| Dan Price | Support: read-only except review moderation | /admin |
To sign in by hand, any UK mobile number works. Tayo is 07700 900123, Sam is 07700 900456 and Jo is 07700 900457. For any code, 000000 is wrong and any other 6 digits are right.
By default the prototype runs on its mock store. To run it against the real Answerd API, build with NEXT_PUBLIC_ANSWERD_API_URL set:
NEXT_PUBLIC_ANSWERD_API_URL=https://answerd-staging-api.onrender.com pnpm build && pnpm start
lib/api/bridge.ts./v1/realtime update the store.lib/api/client.ts stands in for @vitalos/answerd-client until the package can be installed (issue #2). docs/answerd-api-contract.md lists what's confirmed on staging.pnpm test:e2e:api runs the API-mode checks against staging. It wakes the API first. The journeys run too when ANSWERD_STAGING_TEST_PHONES is set.Production stays in mock mode: the deploy workflow sets NEXT_PUBLIC_ANSWERD_API_URL only from the repo variable ANSWERD_API_URL_PROTOTYPE, which is unset. Never point it at staging.
| Surface | Routes | IDs |
|---|---|---|
| Customer app (in a phone frame) | /app/… | C-01 to C-48, Q-01 to Q-06 |
| Business mode (the same app) | /app/biz/… | B-01 to B-41 |
| Public website | On the website, marketing-site/ (its address is NEXT_PUBLIC_SITE_URL, which pnpm deploy:cf:prod sets to https://answerd.vitalos.co.uk). Old prototype URLs such as /b/[slug] redirect there; / opens the hub. | W-01 to W-12, W-20 to W-27 |
| Business web dashboard | /dashboard/… | W-13 to W-19 |
| Admin console | /admin/… | A-01 to A-23 |
| AI desk behaviours | Hub › Simulate, B-33, W-17 | D-01 to D-10 |
Uses OpenNext (@opennextjs/cloudflare); config is in wrangler.jsonc and open-next.config.ts, and production is wrangler.production.jsonc (https://answerd-demo.vitalos.co.uk).
Production deploys go through GitHub Actions (.github/workflows/deploy.yml):
main, a change to the prototype (anything outside marketing-site/, docs, Markdown and tests) deploys it to https://answerd-demo.vitalos.co.uk.both, prototype or website.pnpm deploy:cf:prod with the repo's CLOUDFLARE_API_TOKEN (secret) and CLOUDFLARE_ACCOUNT_ID (variable or secret).ANSWERD_API_URL_PROTOTYPE is set.Locally:
pnpm preview:cf # build and run locally in workerd
pnpm deploy:cf:prod # fallback: deploy production by hand (needs CLOUDFLARE_API_TOKEN with Workers edit rights on the vitalos.co.uk zone, and CLOUDFLARE_ACCOUNT_ID)
pnpm build
pnpm test:e2e # starts `next start` on port 3300
BASE_URL=http://localhost:3000 pnpm test:e2e # or against a running server
tests/e2e/ holds:
routes.spec.ts: every screen loads as the right persona with no 404, console error or empty link.a11y.spec.ts: axe on every screen at its viewport, with no serious or critical issues.pnpm coverage regenerates COVERAGE.md.
lib/:
types.ts holds the entities from the spec's data model.seed.ts is the deterministic demo data: 60 listings across claimed, seeded and Places layers, 300 reviews, threads, calls, bookings and quotes.store.ts is the zustand store, persisted in localStorage. It holds every action and the demo clock.selectors.ts, search.ts, time.ts (London time), deskScripts.ts (the D-01 to D-10 scripts), askAnswerd.ts, companiesHouse.ts (mock register) and screens.ts (the ID registry).components/answerd/: the design system: buttons, chat bubbles, slot and quote cards, sheets, OTP input, mock map and so on.components/shells/: the phone frame, app bars and tabs, web header and footer, dashboard and admin shells.components/biz/: business screens written once and used by both the app and the web dashboard:
claim/ for claiming;profile/ for setup and profile;ops/ for Today, inbox, calls, diary, quotes and stats;desk/ for the AI desk;account/ for billing, team and settings.components/dashboard/, components/admin/: the dashboard and admin pieces.marketing-site/: the Answerd website (W-01 to W-12, W-20 to W-27), a standalone Next.js project with its own README. The prototype links to it through lib/site.ts.The prototype gives every surface the shape and behaviour the MVP needs, using one simulated store instead of real services:
| Prototype | MVP |
|---|---|
/app in a phone frame, with a mode switch for business | One Expo app (iOS and Android) with customer mode and business mode. Staff accounts open straight into business mode. |
marketing-site/ and /dashboard | Next.js web at answerd.vitalos.co.uk: SEO pages for every category and area, listings, claiming and billing. Message and Book continue in the app. |
/admin | Internal admin console on the same web stack, Google sign-in restricted to vitalos.co.uk. |
| The zustand store and the demo clock | Workforce backend: tenants, listings (claimed, seeded from Companies House and OpenStreetMap, Places gap-fill), bookings, threads, calls, quotes, reviews, notifications, billing (Stripe) and the audit log. |
lib/deskScripts.ts | AI front desk on Workforce: the voice and SMS desk (missed-call forwarding, tracked numbers, transcripts, handoffs, safety rules) on the telephony and voice stack. |
lib/askAnswerd.ts | Ask Answerd, powered by Askbridge (Vitalos's website assistant), in the app and as Chat with Answerd on the web. |
| Mock calls, SMS, audio, maps and checkout | Real telephony, SMS, push, map tiles and Stripe Checkout and Customer Portal. |
The prototype's rules carry over as product requirements:
Proprietary. Copyright Vitalos Technologies Limited. All rights reserved.