Three products, one Next.js app: REVA (property due-diligence requests), Surfboard (survey plan lodging and MDA approval workflow), and GBC (event ticketing). Product code is colocated under reva/, surfboard/, gbc/; app/ is the routing shell (pages + /api/v1/* route handlers only).
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 (or whichever port you passed via -p) to see the result. app/page.tsx is the marketing homepage.
This project uses next/font to load its fonts.
Everything about how the app is built and why lives in docs/:
docs/development-history/— the architecture rebuild: why it happened, the phase-by-phase plan, and what actually shipped in each phase. Start here for the most current picture of the codebase.docs/auth/— how login, sessions, and roles work across all three products (native email+password auth and the still-live Kinde OAuth path).docs/payment/— Paystack subscriptions, Certificate of Deposit payments, and the Remita two-link verification flow.docs/surfboard/,docs/reva/,docs/gbc/— per-product user flows, user stories, and feature notes.docs/pages/,docs/components/,docs/functions/— full inventories of every page route, component, and service/util/hook file, one file per platform (gbc/reva/surfboard) plus a shared file.docs/DEPLOYMENT.md— the branch-to-environment mapping (mainis staging,prodis live production).
- Next.js Documentation — features and API.
- Learn Next.js — an interactive tutorial.
- Next.js GitHub repository
Branch names don't map to environments the way you'd expect:
| Branch | Environment |
|---|---|
dev |
Integration — feature PRs land here first |
main |
Staging — still being tested, not customer-facing |
prod |
Live production — currently serving real traffic |
See docs/DEPLOYMENT.md for the full picture, including what to check before merging into prod. Hosting is on Vercel.