尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 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.
Read/write split (why some data comes from Supabase, some from the API)檢視完整 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).