Logo Lanfrica

Sizwe13-source/CyberSafe-Africa

Domain:

digital infrastructure

Record type:

software
Creator:
Siz
Host:
# CyberSafe Africa Cybersecurity awareness platform for African learners — client-side safety checkers, POPIA incident reporting, AI-assisted threat analysis, and an admin threat dashboard. ## Stack - **Frontend:** React 18 + Vite + Tailwind + Socket.IO client - **Backend:** Express + MongoDB + JWT admin auth + OpenAI (optional) + Socket.IO ## Quick start ### Backend ```bash cd backend cp .env.example .env # fill in MONGO_URI, JWT_SECRET, optional OPENAI_API_KEY npm install npm run dev # localhost ``` Bootstrap the first admin (allowed when no admins exist yet): ```bash curl -X POST localhost \ -H "Content-Type: application/json" \ -d "{\"name\":\"Admin\",\"email\":\"admin@example.com\",\"password\":\"your-secure-password\"}" ``` Later registrations require `ADMIN_REGISTER_SECRET` in `.env` and header `X-Admin-Register-Secret`. ### Frontend ```bash cd frontend npm install npm run dev # localhost (proxies /api → :5001) ``` Optional env (`frontend/.env`): ``` VITE_API_URL=localhost VITE_SOCKET_URL=localhost ``` ## Features | Feature | Notes | |---------|--------| | Scam Message Checker | Browser-only heuristics (SA banks, SARS, WhatsApp, USSD) | | Link Checker | Typosquat / shortener / trusted SA domain checks | | Password Checker | Entropy scoring; password never leaves the browser | | Wi‑Fi / Connection Checker | Local checklist + browser signals | | Incident Report | PDF + EmailJS alerts for high/critical POPIA cases | | Chat assistant | `POST /api/chat` with OpenAI + local knowledge fallback | | Admin dashboard | Live Socket.IO threats, AI insights, status updates | ## Security notes - Do **not** commit real `.env` secrets. Rotate any keys that were previously committed. - Dashboard and AI insight routes require an admin JWT. - Public write endpoints (`POST /api/incidents`, `/api/activity`, `/api/chat`) are rate-limited.