Piiicks
Piiicks est une application de commerce électronique Flutter, méticuleusement conçue avec une architecture épurée et alimentée par la gestion efficace de l'état BLoC garantissant l'évolutivité, la maintenabilité et des performances optimales. Plongez dans une expérience de codage transparente avec une interface élégante et des fonctionnalités robustes conçues pour améliorer le parcours d'achat en ligne.
Structure du répertoire.
- lib
- main.dart : Point d’entrée de l’application.
- application ──blocs/cubits : héberge les classes BLoC (Business Logic Component) ou Cubit chargées de gérer l'état de l'application.
- core : contient les fonctionnalités et utilitaires de base partagés dans l’application.
- configs : contient les fichiers de configuration du projet.
- di : configuration de l'injection de dépendances pour la gestion des dépendances et des services.
- data : gère les sources de données, les référentiels et les modèles de données.
- domaine : définit les entités de domaine, les cas d'utilisation et les interfaces.
- présentation ──écrans/widgets : contient des composants d'interface utilisateur, des écrans et des widgets pour l'application.
Caractéristiques
- Architecture propre : assurez une architecture modulaire et évolutive pour une maintenabilité à long terme.
- Gestion de l'état BLoC : gestion efficace de l'état pour une expérience utilisateur fluide et prévisible.
Interface utilisateur
- Écran produit : affichage convivial des produits pour une navigation sans effort.
- Catégories : navigation transparente à travers diverses catégories de produits.
- Détails du produit : informations détaillées pour une vue complète des produits.
- Fonctionnalité de recherche : fonction de recherche robuste pour une découverte rapide des produits.
- Résultats de recherche : résultats de recherche clairs et pertinents pour le confort de l'utilisateur.
- Écran d'accueil : vitrine attrayante des produits et catégories en vedette.
- Options de filtrage : options de filtrage de produits intuitives pour une expérience d'achat personnalisée.
- Écran de démarrage : écran de chargement initial captivant donnant le ton à l'application.
- Adresses : gérez et modifiez sans effort les adresses des utilisateurs pour un traitement fluide des commandes.
- Pagination : implémentez la pagination pour un chargement efficace de grands ensembles de données, garantissant une expérience utilisateur plus fluide.
Interaction utilisateur
- Trier les produits : options permettant de trier les produits en fonction de critères tels que le prix.
- Notifications : tenez les utilisateurs informés des mises à jour sur l'état des commandes et plus encore.
Gestion des utilisateurs
- Connexion/Inscription : authentification sécurisée des utilisateurs pour une expérience personnalisée.
- Panier : gestion transparente et intuitive des articles sélectionnés avant l'achat.
- Profil utilisateur : section dédiée à la gestion des adresses, à l'affichage de l'historique des commandes et à la personnalisation des préférences.
- Gestion des commandes : permet à l'utilisateur de passer des commandes et d'afficher différents écrans de résultats de commande en fonction du statut de la commande.
Fonctionnalités supplémentaires
- Mise en cache et optimisation du chargement des images : utilisez le package
cached_network_image
pour un chargement et une mise en cache efficaces des images réseau, améliorant ainsi les performances. - Prise en charge SVG : exploitez le package
flutter_svg
pour prendre en charge les images SVG, en fournissant une interface utilisateur évolutive et nette. - Mise en cache des données : utilisez le package
shared_preferences
pour mettre en cache de petites quantités de données, améliorant ainsi l'expérience utilisateur en conservant certains états. - Authentification et stockage sécurisé : mettez en œuvre une authentification sécurisée des utilisateurs avec le package
flutter_secure_storage
, garantissant que les données utilisateur sensibles sont stockées en toute sécurité. - Interface utilisateur avec état avec effet Shimmer : améliorez l'interface utilisateur en incorporant l'effet chatoyant à l'aide du package
shimmer
, offrant ainsi une expérience de chargement soignée. - Indicateurs de page dynamiques : implémentez des indicateurs de page dynamiques à l'aide du package
dots_indicator
, fournissant des repères visuels aux utilisateurs lors de la navigation sur différents écrans. - Requêtes HTTP et intégration d'API : exploitez le package
http
pour effectuer des requêtes HTTP et intégrez-le de manière transparente aux API externes pour récupérer et mettre à jour les données. - Vérification de la connectivité réseau : utilisez le package
internet_connection_checker
pour garantir une expérience utilisateur fluide en vérifiant et en gérant la connectivité réseau. - Injection de dépendances : exploitez le package
get_it
pour une injection de dépendances efficace, améliorant la maintenabilité du code et gérant efficacement les dépendances. - Principes de programmation fonctionnelle : explorez et implémentez les principes de programmation fonctionnelle du package
dartz
, améliorant ainsi la clarté du code et la gestion des erreurs. - Partager des produits : permettez aux utilisateurs de partager les détails des produits à l'aide du package
share_plus
pour un partage transparent sur les réseaux sociaux et d'autres plateformes. - Écran Contactez-nous avec URL Launcher : utilisez le package
url_launcher
pour ouvrir l'écran Contactez-nous, permettant aux utilisateurs d'interagir avec des liens externes tels que des e-mails ou des numéros de téléphone. - Liste de souhaits avec Get Storage : implémentez une fonctionnalité de liste de souhaits à l'aide du package
get_storage
pour enregistrer et récupérer des produits, offrant ainsi aux utilisateurs une expérience de liste de souhaits personnalisée. - Partage de produit avec capture d'écran : autorisez les utilisateurs à partager les détails du produit avec une capture d'écran à l'aide du package
screenshot
, améliorant ainsi les capacités de partage de votre application.
Dépendances
environment :
sdk : ' >=3.0.5 <4.0.0 '
dependencies :
flutter :
sdk : flutter
# the last versions.
equatable :
# Package for handling value equality without explicit overrides
dartz :
# Functional programming library for Dart
shared_preferences :
# Plugin for reading and writing key-value pairs to persistent storage
http :
# Package for making HTTP requests
internet_connection_checker :
# Library for checking internet connectivity
flutter_bloc :
# State management library for Flutter applications
get_it :
# Simple service locator for Dart and Flutter projects
shimmer :
# Package for adding shimmering effect to Flutter applications
cached_network_image :
# Library for loading and caching network images
flutter_svg :
# Library for rendering SVG files in Flutter applications
dots_indicator :
# Customizable dots indicator for PageView in Flutter
flutter_secure_storage :
# Secure storage plugin for Flutter
photo_view :
# Package for displaying images in Flutter with zooming and panning capabilities
dotted_border :
# Package for creating dotted borders in Flutter
flutter_local_notifications :
# Package for displaying local notifications in Flutter applications
share_plus :
# Package for sharing content on social media and more
get_storage :
# Persistent storage for Flutter, allowing key-value pair storage
screenshot :
# Flutter plugin for taking screenshots of widgets
path_provider :
# Plugin for interacting with the file system, including getting the app's temporary and application support directories
url_launcher :
# Flutter plugin for launching URLs, emails, making phone calls, and sending SMS.
flutter_phoenix :
# Easily restart your application from scratch, losing any previous state.
Télécharger l'application
Écrans.
Fait:
- Produits.
- Catégories.
- Détails du produit.
- Recherche.
- Résultat de la recherche.
- Maison.
- Filtre.
- Se connecter.
- S'inscrire.
- Éclabousser.
- Chariot.
- Profil.
- Adresses.
- Ajouter/Modifier une adresse.
- Trier les produits.
- Conditions générales.
- Liste de souhaits.
- Contactez-nous.
- Vérifier.
- Succès de la commande.
- Échec de la commande.
- Ordres.
- Notifications.
Pour plus de captures d'écran ici
Faire:
Démos.
connexion.mp4
commandes-cart.mp4
catégories-notifications-profil-filter.mp4
recherche.mp4
- Habituellement, ce cas se produit si vous ouvrez l'application pour la première fois sans connexion Internet. Si ce n'est pas la première fois, l'application utilisera les données mises en cache.
erreur-phoenix-refresh.mp4
Commencer
- Clonez le référentiel.
- Accédez au répertoire du projet.
- Exécutez
flutter pub get
récupérer les dépendances. - Ouvrez le projet dans votre IDE Flutter préféré.
- Exécutez l'application sur l'émulateur ou l'appareil physique de votre choix.