Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
BusConnect – Every Journey, Connected. Sri Lanka's Smartest Online Bus Booking Platform. Search Live Seat Availability, Compare Operators and Fares, Book Securely, and Receive Instant QR E tickets.
LifestyleTypeScript · CSSGitHub @WorkingConnectOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Passenger-facing frontend for BusConnect — a modern Sri Lanka bus-booking
platform. Stack: Next.js 16 (App Router) + Supabase (auth + direct catalog
reads) + BusConnect-api (NestJS, for money/seat writes). See
../docs/PRODUCT_AND_TECH_PLAN.md for the
full plan.
Read/write split (why some data comes from Supabase, some from the API)Read the full README ↗Passenger-facing frontend for BusConnect — a modern Sri Lanka bus-booking
platform. Stack: Next.js 16 (App Router) + Supabase (auth + direct catalog
reads) + BusConnect-api (NestJS, for money/seat writes). See
../docs/PRODUCT_AND_TECH_PLAN.md for the
full plan.
Per the plan's architecture (§4.2): this app reads public catalog data
(locations, routes, trips) directly from Supabase under RLS — see
src/lib/locations.ts. Anything involving money or seats goes through
BusConnect-api — see src/lib/api.ts (createHold, createBooking,
checkoutBooking). Auth is Supabase's; the API verifies the same JWT.
/login), session cookies managed by
middleware.ts + src/lib/supabase/{client,server,middleware}.ts
(the standard @supabase/ssr pattern). Protects /bookings/*./) loads the location catalog from Supabase and
renders a from/to/date form; /search calls BusConnect-api's
GET /search and lists matching trips.src/lib/api.ts) — typed wrapper for every BusConnect-api
endpoint, public and authenticated.npm install
# .env.local already has NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY
# set NEXT_PUBLIC_API_BASE_URL if BusConnect-api isn't on http://localhost:3000/api
npm run dev # http://localhost:3000
The home page needs the
locationstable, and/loginneeds phone OTP enabled (Authentication → Providers → Phone, with an SMS provider like Twilio) in the Supabase project. Until then, both degrade gracefully (empty search / OTP send error) rather than crashing.Apply
BusConnect-api/supabase/migrations/*.sqlto this Supabase project to populate the catalog — seeBusConnect-api/README.md.
| command | what |
|---|---|
npm run dev | dev server (Turbopack) |
npm run build | production build + typecheck |
npm run lint | ESLint |
/trips/:id) with Realtime seat updates./bookings/:id).