Projet de flottement architecture propre
Aperçu du projet
Ce projet Flutter suit le modèle d'architecture propre, qui favorise la séparation des préoccupations et la maintenabilité. Le projet est structuré en plusieurs couches:
Couche de présentation : contient des widgets, des pages et une logique de présentation (Bloc). Gère l'interface utilisateur et les interactions utilisateur.
Couche de domaine : contient des cas d'utilisation et des entités de domaine et un référentiel abstrait.
Couche de données : gère les sources de données, les référentiels et les modèles de données. Responsable de la récupération et du stockage des données. Divisé en repositories , model , local_data_sources et remote_data_sources .
Caractéristiques clés
Fonction de connexion
Notre application comprend un système de connexion robuste. Voici les aspects clés de cette fonctionnalité:
Validation des entrées : nous nous assurons que les entrées utilisateur, telles que le courrier électronique et le mot de passe, sont validées pour maintenir l'intégrité des données.
Authentification : En entrant des informations d'identification valides, les utilisateurs sont authentifiés et ont accordé l'accès à leurs comptes.
Fonction d'inscription
La création d'un compte est simple avec notre fonctionnalité d'inscription. Les éléments clés comprennent:
Validation des entrées : similaire à la fonction de connexion, nous validons les entrées utilisateur pour garantir la précision des données avec la validation du fichier image.
Créer une actatrice : lors de la saisie des informations d'identification valides, les utilisateurs sont valables pour créer une actobre.
Structure de dossier
- lib / fonctionnalités / fonctionnalité /
- Présentation / : Contient des widgets et une logique de présentation.
- Domain / : contient des cas d'utilisation et des entités de domaine.
- données/
- Repositaires / : implémente les référentiels de données.
- Modèle / : définit les modèles de données.
- local_data_sources / : gère les sources de données locales.
- Remote_data_sources / : gère les sources de données distantes.
Packages
- Flutter : le SDK Flutter.
- Cupertino_icons : fournit les icônes de Cupertino utilisées dans le projet.
- Shared_preferences : un plugin pour accéder et stocker des paires de valeurs de clé sur l'appareil.
- get_it : un localisateur de service pour l'injection de dépendance.
- Dartz : un package de programmation fonctionnelle qui fournit des types et fonctions de données algébriques communs.
- FLUTTER_BLOC : Une bibliothèque de gestion d'État basée sur le modèle Bloc (composant logique commercial).
- Équatable : un package d'utilité pour comparer les objets pour l'égalité.
- Dio : un client HTTP puissant pour faire des demandes d'API.
- Formz : un package pour gérer la validation du formulaire et la gestion de l'État.
- GO_ROUNTER : Un routeur déclaratif pour les applications de flottement.
- MIME : un package pour travailler avec des types de mime.
- file_picker : un plugin pour choisir des fichiers dans l'appareil.
- Mocktail : une bibliothèque moqueuse pour les tests de fléchettes et de flottement.
- Internet_connection_checker : un package de vérification de la connectivité Internet.
En plus des dépendances, certaines dépendances de développement sont également utilisées pour les tests et la génération de code:
- FLUTTER_TEST : Le cadre de test Flutter.
- Mockito : une bibliothèque moqueuse pour les tests de fléchettes et de flutter.
- build_runner : un outil de génération de code pendant le processus de construction.
- BLOC_TEST : un utilitaire de test pour tester les blocs.
- Network_image_mock : un package pour moquerie des images de réseau lors des tests.