The project consists of two main parts:
- Application layer (Flutter) - teacher panel and frontend views.
- Model-server layer (Python/Flask + RAG) - API, report generation, and data handling.
.
├── aplikacja_flutter/ # Flutter frontend
├── Model_Server/ # Flask backend + RAG model
└── README.md
Frontend Location: 'https://github.com/PiotrZPL/math_frontend'
Lokalizacja: aplikacja_flutter/
Location: aplikacja_flutter/
- Teacher dashboard - module tiles:
- student reports (report and note timeline),
- adding tasks,
- student progress chart,
- teacher schedule (calendar),
- student task planner (frontend-only),
- shorts (teacher panel + student preview, frontend-only).
- Reports:
- report generation,
- report/note timeline,
- adding and editing teacher notes.
- Progress chart:
- student selection,
- cumulative score chart (+1 correct, -1 incorrect).
- Teacher schedule:
- monthly calendar view,
- add/edit entries.
- Frontend-only modules:
- student task planner (local data),
- shorts library + per-student assignment + student preview.
aplikacja_flutter/lib/main.dart- app setup and APIbaseUrl.aplikacja_flutter/lib/student_service.dart- HTTP client for backend communication.aplikacja_flutter/lib/pages/- module views.aplikacja_flutter/lib/shorts_store.dart- local store for the shorts module.
Inside aplikacja_flutter/:
flutter pub get
flutter runExample of running Web with explicit API URL:
flutter run -d chrome --dart-define=API_BASE_URL=http://127.0.0.1:5000Location: Model_Server/
- Flask API (
server.py):- students and statistics,
- reports and notes,
- report/note timeline,
- teacher schedules,
- tasks and AI help.
- RAG model (
Answer_model.py):- local LLM via
llama_cpp, - embeddings + FAISS.
- local LLM via
- Project data (
baza/):statystyki/- student logs,raporty/- reports and notes,grafiki/- teacher schedules,zadania/- task sets.
- Students and statistics
GET /get_studentsPOST /save_statsGET /get_progress/<username>
- Reports and notes
GET /get_summary/<username>POST /generate_reportGET /get_report_timeline/<username>POST /save_notePOST /update_note
- Teacher schedules
GET /get_teachersGET /get_schedule/<teacher_name>POST /add_schedule_entryPOST /update_schedule_entry
- Tasks and help
POST /add_taskGET /get_tasks/<filename>POST /ask_help
Inside Model_Server/:
pip install -r requirements.txt
python server.pyBy default, the server starts at:
http://0.0.0.0:5000
- Reports and notes keep history (timeline) in
*.jsonlfiles. - The API includes CORS headers for Flutter Web compatibility.