Logo Lanfrica

Dayende-ib/edulink-ai

Domain:

education

Record type:

software
Creator:
Day
Host:
Système éducatif intelligent hors ligne pour les écoles du Burkina Faso. Diagnostic pédagogique, remédiation automatique et suivi personnalisé sans Internet. # EduLink AI — Backend API REST construite avec **FastAPI + SQLite + ChromaDB**, conçue pour tourner en réseau local sans Internet. --- ## Stack technique | Composant | Technologie | |---|---| | Framework | FastAPI | | Base de données | SQLite via SQLModel | | Authentification | JWT (python-jose) + bcrypt | | Temps réel | WebSocket natif FastAPI | | IA / LLM | llama-cpp-python (modèle GGUF local) | | Embeddings | sentence-transformers `all-MiniLM-L6-v2` | | Vector store | ChromaDB (persistant, local) | | Parsing PDF | PyMuPDF (fitz) | | SMS | Africa's Talking API (simulation par défaut) | | Config | python-dotenv | --- ## Structure ``` backend/ ├── main.py # Point d'entrée FastAPI, enregistrement des routes ├── config.py # Paramètres centralisés chargés depuis .env ├── database.py # Engine SQLite + init tables ├── models.py # Tables : User, Exercise, Submission, │ # Alert, SMSLog, TeacherNote ├── schemas.py # Schémas Pydantic (request / response) ├── dependencies.py # Guards JWT : get_current_user, require_teacher, require_admin ├── ws_manager.py # Gestionnaire WebSocket (singleton) ├── seed.py # Chargement des données de démonstration ├── requirements.txt ├── routes/ │ ├── auth.py # POST /api/auth/login · GET /api/auth/me │ ├── exercises.py # CRUD exercices + POST /api/exercises/generate (IA) │ ├── submissions.py # Soumissions, scoring, broadcast WS, trigger alertes/SMS │ ├── dashboard.py # Stats classe · alertes · progression élève │ ├── admin.py # Gestion utilisateurs · classes · stats globales │ ├── notes.py # Notes pédagogiques enseignant sur élèves │ ├── remediation.py # Plan de remédiation IA + logs SMS │ ├── chat.py # Chat RAG : POST /api/chat │ └── ws.py # WebSo …