Buy data bundles, airtime, mashup, WAEC Results Checkers, AFA Registrations & access our Developer API. Fast, secure digital services in Ghana.
Translation pending
CommerceTypeScript · PLpgSQLGitHub @fametechnologies10-collabOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Best Deploys
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A modern e-commerce platform for selling mobile data and airtime in Ghana, built with Next.js 15, Tailwind CSS, and Supabase.
Copy .env.local and fill in your API keys:
cp .env.local .env
You will need keys for:
supabase/schema.sql and run it to create tables and policies.npm install
npm run dev
Visit http://localhost:3000 to see the app.
By default, new users are standard users. To make yourself an admin:
users table.role from user to admin.All 14 scheduled jobs are executed by cron-job.org — not Vercel's built-in cron scheduler. Each job calls a GET endpoint in app/api/cron/ and is secured via the Authorization: Bearer <CRON_SECRET> header.
The CRON_SECRET is a password that you create to ensure only your authorized cron jobs can trigger the API.
48392cf3-5d6e-4b4b-9b4b-1234567890ab).CRON_SECRET<your-generated-secret>CRON_SECRET=<your-secret> to your .env.local file if you want to test the cron routes locally using tools like Postman.| Endpoint | Schedule | Purpose |
|---|---|---|
verify-pending-payments | Every 5 min | Checks pending Paystack wallet payments |
refulfill-pending-orders | Every 5 min | Auto-retries pending data orders via active supplier |
sync-codecraft-status | Every 5 min | Polls CodeCraft API to update processing order statuses (regular & bigtime) |
sync-xpress-status | Every 5 min | Polls Xpress API to update processing order statuses |
sync-moolre-withdrawals | Every 10 min | Polls Moolre API to settle pending withdrawals |
auto-complete-data | Every 10 min | Auto-completes stale data package orders |
fulfill-pending-rc-vouchers | Every 10 min | Auto-fulfills pending RC orders and retries delivery |
release-rc-reservations | Every 15 min | Frees expired Results Checker reservations |
agent-renewal-reminder | Daily 07:00 UTC | Sends SMS reminders to expiring agents |
delete-old-notifications | Daily 00:00 UTC | Purges notifications older than 30 days |
delete-old-orders | Weekly Sun 01:00 UTC | Purges orders older than 90 days |
delete-old-complaints | Weekly Sun 01:00 UTC | Purges complaints older than 30 days |
shop-sales-report?type=daily | Daily 23:59 UTC | Emails daily sales recap to shop owners |
After creating your account on cron-job.org, follow these steps for each of the 15 jobs:
GHData: Sync Moolre Withdrawals).https://www.fametechgh.com/api/cron/sync-moolre-withdrawalshttps:// and change the last part of the URL for each job.*/10.7 and minute to 0.AuthorizationBearer <YOUR_CRON_SECRET><YOUR_CRON_SECRET> with the actual secret you set in your Vercel Environment Variables).shop-sales-report?type=weekly | Weekly Sun 23:59 UTC | Emails weekly sales recap to shop owners |
shop-sales-report?type=monthly | Monthly 1st 00:00 UTC | Emails monthly sales recap to shop owners |