# Jikinge Africa — Cybersecurity Awareness Platform
A full-stack web application for cybersecurity awareness education and incident reporting, designed for students, individuals, and small businesses across Africa.
**Live Demo:**
jikinge-africa.vercel.app
---
## About the Project
Jikinge Africa addresses the widespread lack of basic cybersecurity knowledge across Africa. Human error — including falling for phishing scams, using weak passwords, and ignoring software updates — is the leading contributor to cyber incidents on the continent. According to Interpol's 2025 report, online scams, phishing, ransomware, and BEC make up over 30% of all crimes in Western and Eastern Africa.
The platform provides:
- Structured cybersecurity learning modules with theory and interactive labs
- Quizzes and self-assessment tools to measure knowledge
- An incident reporting system for real-world threats
- An admin dashboard for oversight and analytics
- Real MFA (TOTP) authentication
---
## Tech Stack
| Layer | Technology |
|---|---|
| Frontend | React 18 + Vite |
| Backend | Node.js + Express |
| Database | SQLite (via better-sqlite3) |
| Auth | JWT + bcryptjs + speakeasy (TOTP MFA) |
| Deployment | Vercel (frontend) + Render (backend) |
---
## Project Structure
```
jikinge-africa/
├── backend/
│ ├── db/
│ │ └── database.js # DB schema, tables, seed data
│ ├── middleware/
│ │ └── auth.js # JWT authentication middleware
│ ├── routes/
│ │ ├── auth.js # Register, login, MFA verify, /me
│ │ ├── modules.js # Learning modules CRUD
│ │ ├── progress.js # User progress tracking
│ │ ├── incidents.js # Incident reporting
│ │ └── admin.js # Analytics, users, audit log
│ ├── server.js # Express app entry point
│ ├── .env.example # Environment variable template
│ └── package.json
│
└── frontend/
├── src/
│ ├── App.jsx # Full React application
│ ├── api …