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.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
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 ↗A tracking page for InPost parcels. It shows the same live status as InPost, but on a game-style city map where a courier on a moped drives the parcel to the customer.
api-shipx-pl.easypack24.net) straight from the browser. It needs no API key.https://your-site/). Paste the number and press Utwórz link, then Kopiuj.https://your-site/?p=<number>) to the customer.?p=demo shows a demo with buttons for every stage.
New parcels can take a few hours to appear at InPost. Until then the page says so and keeps checking.
snusshop.pl/menu shows the flavour section on its own, so the seller can send it to customers who ask for the menu in DMs.
Basket: customers pick a flavour, set a quantity with − / +, and tap Dodaj do koszyka (Add to basket). Repeat for other flavours. A basket bar at the bottom opens the basket, where they can change quantities or remove items. Wyślij zamówienie na Instagramie (Send order on Instagram) copies one message listing every item and the total number of pieces. Instagram can't pre-fill a DM, so a "Zamówienie skopiowane" (Order copied) screen then shows the three taps (message box → Paste → Send), a preview of the order and an Otwórz Instagram (Open Instagram) button. The "Zamów ponownie" (Order again) button uses the same screen. The basket is saved on the customer's phone, and the same basket appears on the menu page and on tracking pages; there, the message also includes their parcel number. The home page (link maker) has a Menu button and a Kopiuj link do menu (copy menu link) button. /menu is set up as a rewrite in vercel.json; locally, use ?menu.
Link previews (Instagram, WhatsApp, Messenger) use assets/og.jpg.
The flavours, basket and ordering only show after the visitor taps "Tak, mam 18 lat" (Yes, I'm 18). On /menu the question appears straight away; on tracking pages the parcel tracking stays open and only the flavour section is locked, behind "Pokaż smaki (18+)" (Show flavours, 18+).
ageGateDays (30) days.ageGate: false in config.js.This is a self-declaration, not an ID check.
The page shows a dark, game-style city map with four pins: Warehouse — dispatch → InPost sorting hub → Local depot → your Paczkomat / home. A courier on a moped drives along the glowing route between them:
| InPost status | Moped |
|---|---|
| created / confirmed | parked at the warehouse |
| sent / collected | driving to the sorting hub |
| at the sorting centre | parked at the hub |
| sent from the sorting centre | driving to the local depot (crosses the bridge) |
| at the destination branch | parked at the depot |
| out for delivery | driving to the customer |
| in the Paczkomat / delivered | parked at the customer's pin |
| returned, undelivered, expired… | stopped, shown in red |
InPost doesn't publish the courier's GPS position, so the map position is an estimate. Each InPost update moves the moped to the correct stage. Between updates it creeps closer to the next pin, based on how long that stage usually takes. The page tells customers the position is approximate.
The city is generated in the browser (no map service or API key needed). Each tracking number gets its own city layout. On phones the map rotates so the route runs top-to-bottom. Śledź / Follow zooms in on the moped, and Trasa / Route shows the whole route.
The map can be moved and zoomed within the city's limits:
The map only redraws while something is moving, so an idle page uses almost no battery. While someone is dragging or pinching, the page slides the already-drawn map instead of redrawing it, and redraws once, sharply, when they let go. Decorative pins are hidden when zoomed out past the whole-route view.
extras.js and extras.css add these. Each one is switched on separately under extras in config.js; currently only 2 (order) and 9 (myParcels) are on. Add &preview=1 to any link to try all of them:
This is the beginning of the README. Read the rest at the original. Read the full README ↗