尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Property platform for Burkina Faso: a Next.js website, authenticated API, and operations dashboard with Supabase, Clerk, and Mobile Money payments.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Roogo's public property website, owner/agent workspace and staff operations dashboard for Burkina Faso. This Next.js repository also owns the authenticated API and database migrations used by the Roogo mobile app.查看完整 README ↗Roogo's public property website, owner/agent workspace and staff operations dashboard for Burkina Faso. This Next.js repository also owns the authenticated API and database migrations used by the Roogo mobile app.
The mobile app is a client of this backend. Server rules, not client prices or browser-return parameters, decide payment ownership, price, status and fulfillment.
Backend PR #29 and mobile PR #29 add clear failure explanations and recovery that preserves an unresolved or already-paid deposit.
The feature covers customer-initiated reservations, rent, listings, boosts, hosted payments and 3D visits. Owner payouts, refunds and a notification inbox are outside its scope.
NEEDS_SUPPORT means money was collected but the reservation is unconfirmed. Retain the reference and offer support, not another payment.Database prerequisites executed and verified on Roogo on 2026-09-09; feature release still pending.
| Migration | Status | Database responsibility |
|---|---|---|
| 070 | Executed | Failure fields, delivery claims, cooldown and send boundaries |
| 071 | Executed | Atomic property reservation/finalization |
| 072 | Executed | Single-use listing payments, durable consumption and atomic amenities |
See the execution ledger for the exact project, UTC times, checksums and verification. Applying SQL does not deploy the PR's API/screens or prove push/SMS delivery. These applied files are now immutable; future database changes require a new migration.
Open release blocker: mobile can become trapped after reopening an old successful payment link without its original listing draft. This documentation/migration task did not fix that review finding. Backend deployment, the mobile fix/release and native/provider acceptance checks remain in ROADMAP.md.
npm install
npm run dev
npm test
npx tsc --noEmit --incremental false
npm run lint -- --max-warnings=0
The development server listens on port 3000. See .env.example and CLAUDE.md for configuration and architecture. Keep Clerk, Supabase service-role, payment and messaging credentials server-side; never place them in mobile EXPO_PUBLIC_* variables.
Current production migration history records only 070–072: older schema existed without a history table. Do not run an unrestricted supabase db push or mark 001–069 applied by assumption. Older history needs a separate audit before adopting a full CLI migration baseline.
free_success_fee: 0 XOF at submission; one fee equal to 50% of the listed
monthly rent is stored and collected from the first rent Roogo receives.upfront_package: the selected pack, monthly-rent commission, and add-ons are
paid before the listing is created; no deferred success fee is stored.daily_free: daily inventory is submitted without the monthly success fee.All monthly free_success_fee submissions require explicit acceptance. Later
rent collection is enabled by default when a monthly agreement becomes active;
the owner can opt out for future unpaid installments, and the 7% collection fee
applies only to rents paid through Roogo. See docs/SYSTEM.md for settlement,
opt-out, and idempotency details.
Use this section as the source of truth when testing payments locally.
roogo-web/.env.local) controls payment provider mode:
PAWAPAY_LOCAL_MODE=sandbox|liveDEV_PRICING_OVERRIDE=true|falseroogo/.env.local) controls mobile UI pricing display + backend target:
EXPO_PUBLIC_API_URL=http://<YOUR_LOCAL_IP>:3000EXPO_PUBLIC_DEV_PRICING_OVERRIDE=true|falseDEV_PRICING_OVERRIDE changes pricing response used for payment amount calculation in local testing.roogo-web and mobile app packager).Backend (roogo-web/.env.local):
PAWAPAY_LOCAL_MODE=sandbox
DEV_PRICING_OVERRIDE=false
Result:
Backend (roogo-web/.env.local):
PAWAPAY_LOCAL_MODE=sandbox
DEV_PRICING_OVERRIDE=true
Result:
Backend (roogo-web/.env.local):
PAWAPAY_LOCAL_MODE=live
DEV_PRICING_OVERRIDE=true
Result:
Backend (roogo-web/.env.local):
PAWAPAY_LOCAL_MODE=live
DEV_PRICING_OVERRIDE=false
Result:
In roogo/.env.local:
EXPO_PUBLIC_API_URL=http://<YOUR_LOCAL_IP>:3000
EXPO_PUBLIC_DEV_PRICING_OVERRIDE=true
Notes:
EXPO_PUBLIC_API_URL must point to your local backend when testing from a physical device.EXPO_PUBLIC_DEV_PRICING_OVERRIDE changes what user sees in mobile UI, but payment environment still comes from backend PAWAPAY_LOCAL_MODE.