Logo Lanfrica

qutaybah123/elimu-hub-tanzania

Domain:

educationdigital infrastructure

Record type:

software
Creator:
qut
Host:
# πŸ“š Elimu Hub Tanzania An online learning platform for Tanzanian students and teachers. Built with React, Node.js/Express, and PostgreSQL. ## Features - πŸŽ“ Student & Teacher dashboards - πŸ“– Subject resource library (notes, PDFs, videos) - πŸ“ NECTA past papers (PSLE, CSEE, ACSEE) - 🧠 Interactive quizzes with instant scoring - πŸ“Š Progress tracking & leaderboards - πŸ” JWT authentication with role-based access --- ## πŸš€ Quick Deploy (Docker) ### 1. Prerequisites - Docker & Docker Compose installed on your server - Port 80 open on your firewall ### 2. Set up environment variables ```bash cp .env.example .env nano .env ``` At minimum, set these in `.env`: ``` JWT_SECRET=your_long_random_secret_here DB_PASSWORD=a_strong_database_password FRONTEND_URL=your-server-ip-or-domain REACT_APP_API_URL=your-server-ip-or-domain ``` ### 3. Build and start ```bash docker compose up -d --build ``` That's it! The app will be available at `your-server-ip`. - **Frontend**: `your-server-ip` - **API**: `your-server-ip` - **API Docs (Swagger)**: `your-server-ip` *(expose port 5000 temporarily if needed)* ### 4. Check logs ```bash docker compose logs -f docker compose ps ``` ### 5. Stop ```bash docker compose down ``` --- ## πŸ—οΈ Project Structure ``` elimu-hub-tanzania/ β”œβ”€β”€ backend/ Node.js/Express API β”‚ β”œβ”€β”€ config/ Database connection β”‚ β”œβ”€β”€ middleware/ Auth & error handlers β”‚ └── routes/ API route handlers β”œβ”€β”€ frontend/ React app (MUI) β”‚ └── src/ β”‚ β”œβ”€β”€ contexts/ Auth & loading contexts β”‚ β”œβ”€β”€ pages/ All page components β”‚ β”œβ”€β”€ components/ Shared components β”‚ └── services/ Axios API client β”œβ”€β”€ database/ β”‚ β”œβ”€β”€ schema.sql PostgreSQL schema + seed data β”‚ └── migrate.js Migration helper script β”œβ”€β”€ nginx/ β”‚ └── nginx.conf Reverse proxy config β”œβ”€β”€ docker-compose.yaml └── .env.example ``` --- ## πŸ”§ Loc …