Logo Lanfrica

dpatience/Menya

Domaine:

education

Type de record:

software
Créateur:
dpa
Hôte:
Menya is a 5-sided education platform for Rwanda's school ecosystem: a public marketplace, student application portal, school admin dashboard, super-admin command center, and USSD/SMS fallback layer.school management system # Menya — Multi-Tenant Education SaaS Platform Menya is a 5-sided education platform for Rwanda's school ecosystem: a public marketplace, student application portal, school admin dashboard, super-admin command center, and USSD/SMS fallback layer. --- ## Prerequisites - Elixir ~> 1.15 / OTP 26+ - PostgreSQL 15+ - Node.js 18+ - Rust (for the NIF allocation engine — optional, can skip on Windows) --- ## Quick Start ### 1. Backend (Phoenix — port 4000) ```bash cd backend mix setup # install deps, create DB, run migrations, seed mix phx.server # localhost ``` ### 2. Frontend — School Admin Dashboard (React — port 3000) ```bash cd frontend/school-admin npm install npm run dev # localhost ``` The React dev server proxies `/api` requests to `localhost:4000` automatically. --- ## The 5 Sides — Where to Find & Test Everything ### Side 1: Public Marketplace (SSR / Phoenix LiveView) The SEO-optimized, server-rendered public face of the platform. | Page | URL | Source | |---|---|---| | **Marketplace Home** — school search & discovery | localhost:4000/ | `backend/lib/menya_web/live/marketplace_live.ex` | | **School Profile** — individual school page | localhost:4000/schools/:slug | `backend/lib/menya_web/live/school_profile_live.ex` | | **School Site** (subdomain-resolved) | Requires subdomain routing via Caddy | `backend/lib/menya_web/live/school_site_live.ex` | | **Sitemap** | localhost:4000/sitemap.xml | `backend/lib/menya_web/controllers/sitemap_controller.ex` | ### Side 2: Student Application Portal (Phoenix LiveView) Multi-step application form: personal info → details → document upload → payment → confirmation. | Page | URL | Source | |---|---|---| | **Apply to a School** | localhost:4000/student/apply/:school_slug | `backend/lib/menya_web/live/student_apply_live.ex` | Features: client-side image compression via Canvas API, drag-and-drop document upload (S3 presigned), MoMo/Airtel Money payment flow with polli …

Languages