Application mobile éducative pour les étudiants mauritaniens, permettant la gestion des devoirs, des notes et un dictionnaire français-arabe.
- ➕ Ajouter des devoirs
- ✅ Marquer comme terminé
- 🗑️ Supprimer des devoirs
- 💾 Sauvegarde automatique locale
- ➕ Ajouter des notes (matière, note/20, coefficient)
- 📈 Calcul automatique de la moyenne pondérée
- 🗑️ Supprimer des notes
- 💾 Sauvegarde automatique locale
- 🔍 Recherche en temps réel
- 📚 Base de mots éducatifs
- 🌐 Support bilingue (Français ↔ Arabe)
- 🎨 Material Design 3
- 🌓 Interface moderne et intuitive
- 📱 Navigation fluide avec BottomNavigationBar
- 🇫🇷 🇸🇦 Support multilingue (Français/Arabe)
MauriStudy/
├── frontend/ # Application Flutter
│ ├── lib/
│ │ ├── main.dart # Point d'entrée
│ │ ├── models/ # Modèles de données
│ │ ├── providers/ # State management
│ │ ├── screens/ # Écrans de l'application
│ │ ├── services/ # Services (API, Storage)
│ │ └── l10n/ # Internationalisation
│ └── pubspec.yaml
│
└── backend/ # API Spring Boot
├── src/main/java/com/mauristudy/
│ ├── controller/ # REST Controllers
│ ├── service/ # Business Logic
│ ├── entity/ # JPA Entities
│ ├── dto/ # Data Transfer Objects
│ └── repository/ # Data Access Layer
└── pom.xml
Frontend:
- Flutter SDK 3.x ou supérieur
- Dart 3.x ou supérieur
- Android Studio / VS Code
- Chrome (pour tests web)
Backend:
- Java 17 ou supérieur
- Maven 3.8+
- MySQL 8.0+
- Docker (optionnel)
# Cloner le repository
git clone https://github.com/Ahmed24120/MauriStudy.git
cd MauriStudy/frontend
# Installer les dépendances
flutter pub get
# Lancer sur Web
flutter run -d chrome --web-port=8080
# Lancer sur Android
flutter run -d <device_id>
# Générer un APK
flutter build apk --releasecd backend
# Compiler le projet
mvn clean install
# Lancer l'application
mvn spring-boot:run
# Ou avec Docker
docker-compose up -d- Lancer l'application:
cd frontend
flutter run -d chrome --web-port=8080-
Ouvrir Chrome: http://localhost:8080
-
Tester les fonctionnalités:
- Navigation entre les 4 pages
- Ajout/suppression de devoirs
- Ajout/suppression de notes
- Recherche dans le dictionnaire
- Persistance des données (fermer/rouvrir)
-
Connecter votre téléphone (USB debugging activé)
-
Vérifier la connexion:
flutter devices- Lancer l'application:
flutter run -d <device_id>- Logo MauriStudy
- Cartes de navigation vers les sections
- Interface bilingue (Français/Arabe)
- Liste des devoirs
- Ajout rapide avec FloatingActionButton
- Checkbox pour marquer comme terminé
- Suppression avec icône poubelle
- Carte de moyenne générale
- Liste des notes avec coefficient
- Calcul automatique de la moyenne pondérée
- Interface colorée (orange)
- Barre de recherche
- Liste de mots français-arabe
- Recherche en temps réel
- Icônes de traduction
- Flutter 3.x - Framework UI multiplateforme
- Dart 3.x - Langage de programmation
- Provider - State management
- SharedPreferences - Stockage local
- Material Design 3 - Design system
- Spring Boot 3.x - Framework Java
- Spring Data JPA - ORM
- MySQL 8.0 - Base de données
- Maven - Build tool
- Docker - Containerisation
- Swagger/OpenAPI - Documentation API
- Frontend Flutter complet
- Navigation entre 4 pages
- CRUD Devoirs (local)
- CRUD Notes (local)
- Dictionnaire avec recherche
- Persistance locale (SharedPreferences)
- Interface Material Design 3
- Application Web fonctionnelle
- Backend Spring Boot (erreurs de compilation à corriger)
- API REST complète
- Synchronisation cloud
- Authentification utilisateur
- Support RTL complet pour l'arabe
- Mode sombre/clair
- Statistiques et graphiques
dependencies:
flutter:
sdk: flutter
provider: ^6.1.1
shared_preferences: ^2.2.2
http: ^1.1.2
intl: ^0.18.1spring.datasource.url=jdbc:mysql://localhost:3306/mauristudy
spring.datasource.username=root
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update- CORRECTIONS_EFFECTUEES.md - Détail des corrections apportées
- GUIDE_TEST_COMPLET.md - Guide de test complet
- frontend/test_app.md - Checklist de 60 tests
- README_TESTS.md - Guide rapide de test
Les contributions sont les bienvenues! Pour contribuer:
- Fork le projet
- Créer une branche (
git checkout -b feature/AmazingFeature) - Commit les changements (
git commit -m 'Add AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
- Corriger le backend Spring Boot
- Implémenter l'API REST complète
- Connecter frontend au backend
- Ajouter l'authentification
- Support RTL complet
- Mode sombre/clair
- Plus de mots au dictionnaire (100+)
- Notifications push
- Statistiques et graphiques
- Partage de devoirs entre étudiants
- Calendrier intégré
- Export PDF des notes
-
Backend: 77 erreurs de compilation liées à Lombok
- Solution: Supprimer Lombok ou ajouter getters/setters manuellement
-
Téléphone non détecté: Samsung A22 non reconnu par Flutter
- Solution: Vérifier les pilotes USB et le débogage USB
-
RTL: Support partiel de l'arabe (pas de direction RTL complète)
- Solution: À implémenter dans une prochaine version
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Ahmed24120
- GitHub: @Ahmed24120
- Flutter Team pour le framework
- Spring Team pour Spring Boot
- Communauté open source
Pour toute question ou problème:
- Ouvrir une issue sur GitHub
- Consulter la documentation dans le dossier
/docs
MauriStudy - Apprendre ensemble, réussir ensemble 🎓
Made with ❤️ for Mauritanian students