MathLand est une application mobile éducative développée avec React Native, Expo et Firebase, destinée à l’apprentissage des mathématiques pour les élèves du primaire au Maroc. L’application propose une expérience ludique, colorée et adaptée aux enfants, avec une navigation intuitive et un design inspiré de la mascotte du projet.
- Présentation
- Fonctionnalités principales
- Technologies utilisées
- Structure du projet
- Installation & Lancement
- Fonctionnement général
- Fonctionnalités à venir
- Contribution
- Licence
MathLand est une application mobile pour apprendre les mathématiques au primaire, pensée pour les élèves marocains. Elle propose des cours, des exercices, des jeux, un classement et un espace profil, le tout dans une interface moderne et adaptée aux enfants.
- Première connexion : Saisie et enregistrement des informations de l’élève (prénom, nom, date de naissance, niveau scolaire)
- Accueil : Accès rapide aux sections Cours, Problèmes, Jeux, Classement et Profil
- Cours : Découverte des concepts mathématiques adaptés au niveau de l’élève
- Problèmes : Exercices pratiques pour s’entraîner
- Jeux : Activités ludiques pour apprendre en s’amusant
- Classement : Suivi des scores et progression
- Profil : Consultation et gestion des informations personnelles, déconnexion
- React Native (Expo)
- TypeScript
- Firebase (Authentication, Firestore)
- React Navigation (navigation à onglets et stack)
- @expo/vector-icons (icônes modernes)
- react-native-safe-area-context (gestion des notchs et safe areas)
- AsyncStorage (stockage local)
MathLand/
├── src/
│ ├── components/ # Composants réutilisables (Header, CustomButton, CustomInput)
│ ├── config/ # Configuration Firebase
│ ├── context/ # Contexts React (AuthContext)
│ ├── navigation/ # Navigation principale (AppNavigator)
│ ├── screens/ # Écrans de l’application (Home, Profile, etc.)
│ ├── services/ # Services (authentification, données)
│ └── types/ # Types TypeScript partagés
├── App.tsx # Point d’entrée de l’application
├── package.json
└── README.md
-
Cloner le projet
git clone <repository-url> cd MathLand
-
Installer les dépendances
npm install
-
Configurer Firebase
- Créer un projet sur Firebase Console
- Activer Firestore Database et Authentication
- Copier les clés de configuration dans
src/config/firebase.ts
-
Lancer l’application
npm start
Puis scanner le QR code avec l’application Expo Go sur votre téléphone.
- Authentification : L’élève renseigne ses informations à la première ouverture. Les données sont stockées localement et dans Firebase.
- Navigation : Une barre d’onglets en bas de l’écran permet d’accéder à toutes les sections principales.
- Design : Interface colorée, adaptée aux enfants, avec une palette violette inspirée de la mascotte.
- Déconnexion : Accessible depuis la page Profil.
- Interface complète pour les cours et les jeux
- Système de résolution de problèmes avec correction
- Classement dynamique entre élèves
- Personnalisation avancée du profil
- Contenus alignés sur le programme marocain
- Fork du projet
- Création d’une branche pour votre fonctionnalité
- Commit de vos modifications
- Pull Request sur le dépôt principal
Projet open-source pour l’éducation mathématique au Maroc.
N’hésitez pas à contribuer ou à proposer des idées !