Skip to content

Ahmed24120/MauriStudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 MauriStudy - Application Éducative Mobile

Flutter Spring Boot License

Application mobile éducative pour les étudiants mauritaniens, permettant la gestion des devoirs, des notes et un dictionnaire français-arabe.

🎯 Fonctionnalités

✅ Gestion des Devoirs

  • ➕ Ajouter des devoirs
  • ✅ Marquer comme terminé
  • 🗑️ Supprimer des devoirs
  • 💾 Sauvegarde automatique locale

📊 Gestion des Notes

  • ➕ Ajouter des notes (matière, note/20, coefficient)
  • 📈 Calcul automatique de la moyenne pondérée
  • 🗑️ Supprimer des notes
  • 💾 Sauvegarde automatique locale

📖 Dictionnaire Français-Arabe

  • 🔍 Recherche en temps réel
  • 📚 Base de mots éducatifs
  • 🌐 Support bilingue (Français ↔ Arabe)

🎨 Interface Utilisateur

  • 🎨 Material Design 3
  • 🌓 Interface moderne et intuitive
  • 📱 Navigation fluide avec BottomNavigationBar
  • 🇫🇷 🇸🇦 Support multilingue (Français/Arabe)

🏗️ Architecture

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

🚀 Installation

Prérequis

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)

Installation Frontend

# 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 --release

Installation Backend

cd backend

# Compiler le projet
mvn clean install

# Lancer l'application
mvn spring-boot:run

# Ou avec Docker
docker-compose up -d

🧪 Tests

Tester sur Web

  1. Lancer l'application:
cd frontend
flutter run -d chrome --web-port=8080
  1. Ouvrir Chrome: http://localhost:8080

  2. 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)

Tester sur Android

  1. Connecter votre téléphone (USB debugging activé)

  2. Vérifier la connexion:

flutter devices
  1. Lancer l'application:
flutter run -d <device_id>

📱 Captures d'écran

Page d'Accueil

  • Logo MauriStudy
  • Cartes de navigation vers les sections
  • Interface bilingue (Français/Arabe)

Page Devoirs

  • Liste des devoirs
  • Ajout rapide avec FloatingActionButton
  • Checkbox pour marquer comme terminé
  • Suppression avec icône poubelle

Page Notes

  • Carte de moyenne générale
  • Liste des notes avec coefficient
  • Calcul automatique de la moyenne pondérée
  • Interface colorée (orange)

Page Dictionnaire

  • Barre de recherche
  • Liste de mots français-arabe
  • Recherche en temps réel
  • Icônes de traduction

🛠️ Technologies Utilisées

Frontend

  • Flutter 3.x - Framework UI multiplateforme
  • Dart 3.x - Langage de programmation
  • Provider - State management
  • SharedPreferences - Stockage local
  • Material Design 3 - Design system

Backend

  • 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

📊 État du Projet

✅ Fonctionnel

  • 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

🚧 En développement

  • 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

🔧 Configuration

Frontend - pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  provider: ^6.1.1
  shared_preferences: ^2.2.2
  http: ^1.1.2
  intl: ^0.18.1

Backend - application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/mauristudy
spring.datasource.username=root
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update

📖 Documentation

  • 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

🤝 Contribution

Les contributions sont les bienvenues! Pour contribuer:

  1. Fork le projet
  2. Créer une branche (git checkout -b feature/AmazingFeature)
  3. Commit les changements (git commit -m 'Add AmazingFeature')
  4. Push vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrir une Pull Request

📝 Roadmap

Version 1.1 (Prochaine)

  • Corriger le backend Spring Boot
  • Implémenter l'API REST complète
  • Connecter frontend au backend
  • Ajouter l'authentification

Version 1.2

  • Support RTL complet
  • Mode sombre/clair
  • Plus de mots au dictionnaire (100+)
  • Notifications push

Version 2.0

  • Statistiques et graphiques
  • Partage de devoirs entre étudiants
  • Calendrier intégré
  • Export PDF des notes

🐛 Problèmes Connus

  1. Backend: 77 erreurs de compilation liées à Lombok

    • Solution: Supprimer Lombok ou ajouter getters/setters manuellement
  2. Téléphone non détecté: Samsung A22 non reconnu par Flutter

    • Solution: Vérifier les pilotes USB et le débogage USB
  3. RTL: Support partiel de l'arabe (pas de direction RTL complète)

    • Solution: À implémenter dans une prochaine version

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

👨‍💻 Auteur

Ahmed24120

🙏 Remerciements

  • Flutter Team pour le framework
  • Spring Team pour Spring Boot
  • Communauté open source

📞 Support

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

About

Application mobile éducative pour étudiants mauritaniens

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors