尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗MVP for a platform that lets a single bus/coach carrier run their booking pipeline end to end — client request → carrier offer → confirmed booking → generated documents — without phone calls and email back-and-forth.
This is the first build increment. See "Deferred to later increments" below for what's intentionally out of scope for now.
sr/en)@react-pdf/renderer for contract/confirmation/invoice PDFsPrerequisites: Node 20+, a local PostgreSQL 16 instance (or Docker).
cp .env.example .env
# start Postgres — either:
docker compose up -d
# or point DATABASE_URL in .env at an existing local Postgres
npm install
npx prisma migrate dev
npm run db:seed
npm run dev
Open http://localhost:3000 (redirects to /sr, switch to /en in the navbar).
npm run db:seed creates:
| Role | Password | |
|---|---|---|
| Admin | [email protected] | admin1234 |
| Carrier | [email protected] | carrier123 |
| Client | [email protected] | client123 |
The seeded carrier is pre-approved with a demo vehicle and driver, so you can log in and immediately submit a request as the client, then send an offer as the carrier.
User.role is CLIENT, CARRIER, or ADMIN. A new carrier signup creates a Carrier row with status: PENDING; an admin must approve it (/admin/carriers) before the carrier's dashboard, fleet, drivers, calendar, requests inbox and bookings become reachable — the carrier can still fill in their profile while pending.BookingRequest → any approved carrier can open it and submit an Offer (picking one of their vehicles/drivers, entering distance in km) → the system suggests a price (src/lib/pricing.ts) and blocks the offer if the chosen vehicle/driver conflicts with an existing confirmed booking (src/lib/availability.ts) → the client accepts one offer, which creates a Booking and auto-rejects the request's other pending offers → either side can generate and download PDF documents (confirmation, contract, invoice) for the booking.src/lib/distance.ts, src/lib/pricing.ts and src/lib/availability.ts are the deterministic stand-ins described in the product plan — swappable behind their current interfaces once a real routing/matching engine is built.src/lib/documents/generate.ts using @react-pdf/renderer, written to local disk under storage/documents/ (gitignored) behind a small storage abstraction (src/lib/documents/storage.ts) so swapping in S3/Blob storage later is a one-file change.Real AI dispatcher/matching, real maps/geocoding/routing API, e-invoicing/fiscalization, multi-carrier marketplace matching, payments, email/SMS notifications, a real file/photo upload pipeline, admin commission tracking and complaints handling, round-trip/multi-leg requests, automated request/offer expiry jobs.