FloCafe
FloCafe는 구독 없이 무료로 주문·테이블·주방 디스플레이·로컬 데이터를 관리하는 로컬 퍼스트 레스토랑 POS입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Park in a spot someone isn't using. Drivers search near where they're going, see the bay drawn to scale against their own vehicle, book it, and pay the host at the space (cash or UPI). Hosts list a spare bay in an apartment block, mall, office or driveway and set their own hours and price.
| Area | What it does |
|---|---|
| Search | Place, time and vehicle. Hides spaces your vehicle doesn't fit, shows why others were left out, map with price pins |
| Space page | Bay drawn to scale against your vehicle, hours, price, reviews, host record, message host, report |
| Booking | Instant or host-approved, price locked at booking, 4-digit arrival code, exact address unlocks once confirmed |
| Host | List, edit, pause; requests with the driver's record; check-in by code; no-show; record payment; earnings |
| Trust | Reviews only after a checked-in stay, reports, auto-pause after 3 reporters, admin ban or suspend |
| Account | Nickname, UPI ID, vehicles, sign out everywhere, delete account |
| Safety page | Plain-language explanation of payments and protections at /safety |
Next.js 16 (App Router, Server Actions), React 19, TypeScript, Tailwind CSS 4, Postgres (pg), Leaflet and
OpenStreetMap for maps, Nominatim for place search, Vitest for tests.
You need Node 22+ and a Postgres database.
npm install
cp .env.example .env.local # then fill it in
npm run dev
Tables are created automatically the first time the app talks to the database (migrations run once, under a lock).
| Name | Required | Notes |
|---|---|---|
POSTGRES_URL | yes | Any Postgres connection string. DATABASE_URL also works. |
SESSION_SECRET | yes in production | 32+ random characters. Signs login cookies. |
PHONE_PEPPER | yes in production | 32+ random characters. Keys the phone-number hash. Don't lose or rotate it. |
OTP_PROVIDER | yes | twilio or demo |
ALLOW_DEMO_OTP | demo only | Must be true for demo to run in production. Never use with real users. |
TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_VERIFY_SERVICE_SID | with twilio | Twilio Verify service |
ADMIN_TOKEN | optional | 16+ characters. Switches on /admin. |
PG_SSL_CA | optional | PEM text of a CA certificate, if your database uses a private CA |
PG_SSL_INSECURE | optional | 1 skips certificate checks. Last resort. |
POSTGRES_URL.SESSION_SECRET, PHONE_PEPPER, OTP_PROVIDER and the provider settings (and ADMIN_TOKEN if you want the admin page).npm test # needs a Postgres at TEST_POSTGRES_URL (default postgres://[email protected]:54329/sparespace_test)
npm run typecheck
The suite covers pricing, availability (including overnight windows), vehicle fit, phone handling, OTP rules, form validation, and the booking engine against a real Postgres, including concurrent bookings of the last bay.