# π Algerian School Support Platform
A **production-ready, multi-service** platform for an Algerian school-support
(tutoring) business targeting the **BAC** (BaccalaurΓ©at) and **BEM** (Brevet)
national exams. It connects a **Meta (Facebook) Messenger bot**, a **CrewAI +
Google Gemini** conversational agent that speaks **Algerian Darija & French**,
and a **Laravel school-management dashboard** β all wired together with a
shared Docker stack and Redis.
---
## β¨ Highlights
- π€ **AI Agent (CrewAI + Gemini)** that replies in **Algerian Darija / French**
with a warm, professional tone, and extracts structured pre-registration data.
- π **Meta Messenger Gateway (FastAPI)** that **verifies `X-Hub-Signature-256`**
(HMAC-SHA256) and responds **asynchronously** to avoid webhook timeouts.
- π« **Laravel School Dashboard** (ready-made School Management System).
- π³ **Docker Compose** stack wiring Gateway + AI Engine + Dashboard + Redis + MySQL.
- π§± **Deterministic JSON output** (`reply_text` + `extracted_info`) from the AI β
stable contract for downstream systems.
---
## π Architecture
```
βββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββ
β Meta Messenger (FB) β β CrewAI AI Engine β
β βββββββββββββββββββββββββ β HTTP β ββββββββββββββββββββββββββ β
β β Gateway (FastAPI) βββΌββββββββΌβββΊβ /v1/reply β β
β β Β· X-Hub-Signature β β β ββββββββββββββββββββββββββ β
β β Β· Async background β β β AlgerianSupportCrew (crew) β
β ββββββββββββ¬βββββββββββββ β β Agent (Gemini, Darija) β
β β reply β ββββββββββββββββββββββββββββββββ
β βΌ β
β βββββββββββββββββββββββββ β
β β Redis (cache/queue) β β
β βββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββ
β Dashboard (Laravel) β β school/student/result management
βββββββββββββββββββββββββ
```
| Service | Tech | Port | Pur β¦