Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

solomon-211/EduPortal_South-Sudan

Domain:

education

Record type:

software
Creator:
sol
Host:
# EduPortal South Sudan A Flask-based education portal for South Sudan that connects students, parents, teachers, school administrators, NGOs, and platform administrators. It provides a verified school directory, study materials, announcements, and scholarship listings — all moderated before going public. --- ## Table of Contents - User Roles - Features - Tech Stack - Project Structure - Getting Started - Environment Variables - Database Setup - Demo Accounts - Running Tests - Main Pages - API Reference - Background Jobs - File Storage - Notifications - Web Push - Google Sign-In - Material Thumbnails - Backups - Security - Deployment - Live Project --- ## User Roles | Role | What they can do | |---|---| | `student` | Browse schools, materials, announcements; apply for scholarships; bookmark items | | `parent` | Same as student, plus a linked child's school/grade on their profile | | `teacher` | Everything a student can, plus upload study materials and post school announcements | | `school_admin` | Manage their school's profile, admission requirements, materials, and applications | | `ngo_officer` | Post and manage scholarships for their NGO | | `org_publisher` | Post announcements on behalf of a verified organization | | `admin` | Onboard schools/NGOs/organizations; approve/reject all submitted content; manage users, roles, analytics, and the audit log | > The platform admin manages the platform, not the content. Their sidebar only shows the Admin Panel — no Dashboard, Materials, Scholarships, or Announcements. Every role only sees the nav items it's entitled to use, enforced both client-side (`sidebar-main.js`) and server-side (`@require_role`). --- ## Features - **Authentication** — Email/phone + password or Google Sign-In; JWT access tokens (2h) with rotating refresh tokens (30 days) - **Email verification** — Required before login for email-registered accounts; Google Sign-In auto-verifies - **Password reset** — Time-limited, single-use reset codes se …

Visit

github.com

Similar

Explanation of Song 211 20161104dabenezer-solomon/Ethiovalsolomon-njogo/ChamaDisputeOlutola-Oluwatobi-Solomon/Assignmentsolomon-njogo/Sentinel-SwahiliNuhamin-Solomon/ethiopia-fi-forecast

Explanation of Song 211 20161104d

Paschal and Aakó Bu'ú discuss the song || Paschal na Aakó Bu'ú wanaongea kuhusu wimb

abenezer-solomon/Ethioval

An end-to-end machine learning web app powered by XGBoost and Streamlit to estimate real estate prop

solomon-njogo/ChamaDispute

AI-powered mediator for Kenyan Chamas. Resolves member disputes by analyzing bylaws, M-Pesa statemen

Olutola-Oluwatobi-Solomon/Assignment

Determining the death rate of two country(United state and Uganda) This is the task The task, in a

solomon-njogo/Sentinel-Swahili

Localized Swahili LLM for AI-Assisted Terrorism Threat Reporting # Threat Alert Dashboard A modern

Nuhamin-Solomon/ethiopia-fi-forecast

Forecasting financial inclusion (access and usage) in Ethiopia using survey data, events, and impact