A minimal MVP for tracking manual MoMo (Mobile Money) payments. Built with Next.js 14 App Router, Prisma, PostgreSQL, and Tailwind CSS.
npm installcp .env.example .envEdit .env and set your PostgreSQL/NeonDB connection string:
DATABASE_URL="postgresql://USER:PASSWORD@localhost:5432/zero_studio_x"
Local PostgreSQL example:
postgresql://postgres:password@localhost:5432/zero_studio_x
# Push schema to your database
npm run db:push
# Generate Prisma client
npm run db:generatenpm run dev| Route | Description |
|---|---|
/payment |
Public payment submission form |
/admin |
Admin dashboard to verify payments |
POST /api/payments |
Submit a new payment |
GET /api/payments |
Fetch all payments |
PATCH /api/payments/[id] |
Confirm or reject a payment |
| Type | Amount |
|---|---|
| VIP Weekly | Fixed GHS 150 |
| Pay After Winning | 30% of winnings |
- No authentication (MVP)
- No external payment gateway
- All payments are manual via MTN / Telecel / AirtelTigo MoMo
- Update the MoMo numbers in
/app/payment/page.tsx→MOMO_NUMBERS