Created by Darrell Mucheri
Built for Zimbabwean students — ZIMSEC & Cambridge curriculum support.
| Component | Description |
|---|---|
admin-portal/server.js |
Express backend — API, file uploads, admin & student auth |
admin-portal/client/ |
React frontend — marketing site, student app, admin dashboard |
admin-portal/project-prompts.js |
AI prompt templates used by the server |
The portal is a standalone Express + React app. Deploy it on Render in about 5 minutes.
1. Push your code to GitHub
Make sure your project is in a GitHub repository (public or private).
2. Create a new Web Service on Render
- Go to render.com → New → Web Service
- Connect your GitHub account and select your repository
- Choose the main branch
3. Configure the service
| Field | Value |
|---|---|
| Name | fundo-ai (or any name you like) |
| Root Directory | admin-portal |
| Runtime | Node |
| Build Command | npm install && npm run build |
| Start Command | node server.js |
| Instance Type | Free (or Starter for always-on) |
Important: The build command installs client dependencies and compiles the React frontend into
client/dist/. The Express server serves these built files automatically. Node.js 20 is pinned — do not use Node 24 (known npm compatibility issues).
4. Add Environment Variables
In Render → your service → Environment tab, add:
| Key | Required? | Notes |
|---|---|---|
MONGO_URI |
✅ Yes | MongoDB Atlas connection string |
ADMIN_USERNAME |
✅ Yes | Admin login username |
ADMIN_PASSWORD |
✅ Yes | Admin login password |
SESSION_SECRET |
✅ Yes | Any long random string for JWT signing |
PAYNOW_ID |
Optional | EcoCash Paynow merchant ID |
PAYNOW_KEY |
Optional | EcoCash Paynow integration key |
NVIDIA_API_KEY |
Optional | NVIDIA AI key for improved AI quality |
Do NOT set
PORT— Render injects it automatically. The server readsprocess.env.PORTalready.
5. Deploy
Click Create Web Service. Render will:
- Clone your repo
- Run the build command (installs deps + compiles React)
- Start the server with
node server.js - Assign you a public URL like
https://fundo-ai.onrender.com
- Create a free cluster at cloud.mongodb.com
- Network Access → Add IP Address →
0.0.0.0/0(required for Render) - Database Access → Add a user with read/write privileges
- Connect → Drivers → copy the connection string
- Replace
<password>with your DB user password - Paste it as
MONGO_URIin Render environment variables
- Open your Render URL and go to
/admin— sign in with your admin credentials - Upload resources: drag & drop files (PDF, DOC, DOCX, images)
- Select the correct Category, Level, Grade, and Subject
- Add a Year for past papers and marking schemes
- Click Upload Files — resources appear immediately on the student portal
cd admin-portal
npm install
npm run build # compiles the React frontend
node server.js # starts the server on port 5000Then open http://localhost:5000.
Darrell Mucheri — Developer & Creator
- Website: fundoai.gleeze.com
- Support: support.fundo.ai@gmail.com
- WhatsApp: wa.me/263719647303
Fundo AI — Empowering Zimbabwean students through accessible, AI-powered education.