Shifushotlocal est une application mobile développée avec Flutter visant à proposer une expérience ludique et interactive autour de jeux de soirée. Elle permet aux utilisateurs de créer des parties, d'inviter des amis et d'accéder à une variété de mini-jeux en ligne et hors ligne.
- Langage de programmation : Dart (Flutter)
- Version de Flutter SDK : 3.5.4
- Outil de build : Gradle 8.0
- Version de Java : 17
- IDE utilisé : Android Studio (pour l’émulation et les tests)
cloud_firestore: ^5.6.2→ Base de données Firestore pour stocker les données des parties et des utilisateurs.firebase_auth: ^5.4.1→ Gestion de l’authentification utilisateur via Firebase.firebase_core: ^3.10.1→ Outils Firebase nécessaires au bon fonctionnement de l’application.firebase_storage: ^12.4.1→ Stockage d’images et autres fichiers sur Firebase Storage.google_sign_in: ^6.2.2→ Connexion via Google.intl: ^0.20.2→ Gestion des formats de date et de texte multilingues.uuid: ^4.5.1→ Génération d’identifiants uniques pour les parties et utilisateurs.flutter_launcher_icons: ^0.14.3→ Personnalisation des icônes de l’application.
dice_icons: ^0.1.7→ Icônes de dés pour certains jeux.font_awesome_flutter: ^10.8.0→ Icônes supplémentaires pour l’interface.playing_cards: ^0.4.1+11→ Gestion des jeux de cartes.playing_cards_layouts: ^1.0.1→ Mises en page spécifiques aux jeux de cartes.
flutter_lints: ^4.0.0→ Bonnes pratiques et vérification du code.flutter_test:→ Outils de tests unitaires intégrés à Flutter.
L’arborescence du projet est organisée pour séparer les différentes fonctionnalités :
lib/
│── Pages/
│ ├── connexion/
│ │ ├── connexion_page.dart
│ │ ├── create_account_page.dart
│ │ ├── debut_page.dart
│ │ ├── select_connect_page.dart
│ ├── features/
│ │ ├── card_drawer.dart
│ │ ├── team_generator_page.dart
│ ├── feedback/
│ │ ├── feedback_page.dart
│ ├── friends/
│ │ ├── add_friends_page.dart
│ │ ├── friends_page.dart
│ ├── local_games/
│ │ ├── bizkit/
│ │ │ ├── dice_game_page.dart
│ │ ├── clicker/
│ │ │ ├── jeu1.dart
│ │ ├── horloge/
│ │ │ ├── clock_game_page.dart
│ │ ├── killer/
│ │ │ ├── killer_actions_page.dart
│ │ │ ├── killer_page.dart
│ │ │ ├── killer_summary_page.dart
│ │ ├── paper/
│ │ │ ├── paper_game_page.dart
│ │ │ ├── paper_game_play_page.dart
│ │ │ ├── add_friends_page.dart
│ │── online_games/
│ │ ├── lobby_waiting_screen.dart
│ │ ├── lobby_screen_online.dart
│ │── profil/
│ │ ├── edit_profil_page.dart
│ │ ├── user_profil_page.dart
│── theme/
│ ├── app_theme.dart
│── main.dart
│── firebase_options.dart
- Installer Flutter SDK 3.5.4 : Documentation officielle
- Installer Android Studio (pour l’émulation et le build)
- Avoir un compte Firebase configuré
-
Cloner le projet :
git clone <repository-url> cd shifushotlocal
-
Installer les dépendances :
flutter pub get
-
Configurer Firebase :
- Ajouter le fichier
google-services.jsonpour Android. - Ajouter
GoogleService-Info.plistpour iOS.
- Ajouter le fichier
-
Lancer l’application :
flutter run
Le projet inclut plusieurs assets :
- Images : Logos, icônes et éléments graphiques (stockés dans
assets/images/). - Fichiers JSON : Données préconfigurées pour certains jeux (
assets/jsons/). - Fonts : Polices personnalisées (déclarées dans
pubspec.yaml).
- Suivre les conventions de Flutter/Dart pour le nommage et l’organisation du code.
- Éviter de stocker des informations sensibles dans le code source.
- Utiliser
flutter analyzeetflutter testpour s’assurer de la qualité du code.