Ecommerce Template
Next.js·React 등으로 만든 최신 전자상거래 템플릿
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.