refactor: restructure codebase into modular architecture
- Split monolithic app.py (400+ lines) into organized modules - Extract models, forms, and commands into separate files - Implement Flask blueprints for route organization - Maintain full functionality with cleaner architecture - Update all templates to use new blueprint URLs - Enhance README with technical documentation Structure: ├── app.py (50 lines) - Flask app factory ├── models.py (62 lines) - SQLAlchemy models ├── forms.py (43 lines) - WTForms definitions ├── commands.py (74 lines) - CLI commands └── routes/ - Blueprint modules for each feature 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
47
README.md
47
README.md
@@ -1,6 +1,19 @@
|
||||
# Gestion Scolaire
|
||||
|
||||
Application web pour gérer les élèves, évaluations et notes.
|
||||
Application web Flask pour gérer les élèves, évaluations et notes dans un contexte scolaire.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
### ✅ Gestion complète des évaluations
|
||||
- **Groupes classes** : Organisation des élèves par classe
|
||||
- **Évaluations** : Création et gestion des contrôles/devoirs
|
||||
- **Exercices** : Structure hiérarchique des évaluations
|
||||
- **Éléments de notation** : Configuration fine des critères
|
||||
- **Saisie des notes** : Interface intuitive pour la notation
|
||||
|
||||
### 🎯 Types de notation supportés
|
||||
- **Points** : Notation classique (ex: 2.5/4 points)
|
||||
- **Score** : Évaluation par compétences (0=non acquis, 1=en cours, 2=acquis, 3=expert, .=non évalué)
|
||||
|
||||
## Installation et lancement
|
||||
|
||||
@@ -20,19 +33,31 @@ uv run flask --app app run --debug
|
||||
uv run flask --app app run
|
||||
```
|
||||
|
||||
## Fonctionnalités
|
||||
## Architecture technique
|
||||
|
||||
- Gestion des groupes classes
|
||||
- Gestion des élèves
|
||||
- Création d'évaluations avec exercices
|
||||
- Éléments de notation configurables (score ou points)
|
||||
- Saisie et suivi des notes
|
||||
|
||||
## Architecture
|
||||
### Structure du code
|
||||
```
|
||||
├── app.py # Application Flask principale
|
||||
├── models.py # Modèles SQLAlchemy
|
||||
├── forms.py # Formulaires WTForms
|
||||
├── commands.py # Commandes CLI Flask
|
||||
├── routes/
|
||||
│ ├── assessments.py # Routes pour les évaluations
|
||||
│ ├── exercises.py # Routes pour les exercices
|
||||
│ └── grading.py # Routes pour la saisie des notes
|
||||
└── templates/ # Templates Jinja2 avec TailwindCSS
|
||||
```
|
||||
|
||||
### Modèles de données
|
||||
- **ClassGroup** : Groupes de classes (ex: 6ème A, 5ème B)
|
||||
- **Student** : Élèves assignés à un groupe classe
|
||||
- **Assessment** : Évaluations liées à un groupe classe
|
||||
- **Exercise** : Exercices composant une évaluation
|
||||
- **GradingElement** : Éléments de notation avec barème
|
||||
- **Grade** : Notes attribuées aux éléments de notation
|
||||
- **GradingElement** : Éléments de notation avec barème et type
|
||||
- **Grade** : Notes attribuées aux éléments de notation
|
||||
|
||||
### Technologies utilisées
|
||||
- **Backend** : Flask, SQLAlchemy, WTForms
|
||||
- **Frontend** : TailwindCSS, Jinja2
|
||||
- **Base de données** : SQLite
|
||||
- **Gestionnaire de paquets** : uv
|
||||
Reference in New Issue
Block a user