Civic Bridge Africa \u2014 governance-literacy platform for African youth (Next.js frontend)
# Civic Bridge Africa
A governance-literacy platform for African youth (ages 16–35): plain-language
explainers on parliamentary process and civic rights, comprehension quizzes,
a moderated discussion forum, and a live regional-integration tracker (AU,
EAC initiatives).
Built for the Software Development Cycle final summative.
## Live demo
- **Deployed app:**
civic-bridge-steel.vercel.a…
- **Backend API (Swagger UI):**
civic-bridge-api.onrender.c… (repo) — the bare root URL returns a 500 by design (no landing route), so Swagger is the link to use to see the API live
- **Demo video:** ADD_YOUR_VIDEO_LINK_HERE
- **SRS document:**
docs.google.com (v1.1 — includes a delivery-status appendix reconciling the pilot against the original spec)
### A note on first-load speed
The backend runs on Render's free tier, which sleeps after ~15 minutes with
no traffic. A GitHub Actions cron in the API repo pings it every 10 minutes
to keep it warm, but if you're the first visitor after a long gap, the very
first request (usually logging in) can take up to ~2 minutes while the
server wakes up — the page will show a "waking up the server" message
rather than appearing frozen. Every request after that is fast.
## Demo accounts
The API seeds three accounts on startup so every role can be tested without
signing up:
| Role | Email | Password |
|---|---|---|
| Admin | admin@civicbridge.africa | admin123 |
| Moderator | moderator@civicbridge.africa | mod123 |
| Youth User | youth@civicbridge.africa | youth123 |
You can also browse as a guest from the home page without logging in, or use
the Sign Up page to create a new Youth User account.
## Tech stack
- **Frontend:** Next.js 16 (App Router), React 19, Tailwind CSS v4
- **Backend:** Spring Boot 4 + PostgreSQL, JWT auth, deployed separately — see
civic-bridge-api
- **Deployment:** Vercel (frontend), Render (backend)
This f …