Piicks
Piiicks ist eine Flutter-E-Commerce-App, die sorgfältig mit sauberer Architektur erstellt wurde und von der effizienten BLoC-Statusverwaltung unterstützt wird, die Skalierbarkeit, Wartbarkeit und optimale Leistung gewährleistet. Tauchen Sie ein in ein nahtloses Programmiererlebnis mit einer eleganten Benutzeroberfläche und robusten Funktionen, die das Online-Einkaufserlebnis verbessern sollen.
Verzeichnisstruktur.
- lib
- main.dart: Einstiegspunkt der Anwendung.
- application ──blocs/cubits: Enthält die BLoC- (Business Logic Component) oder Cubit-Klassen, die für die Verwaltung des Anwendungsstatus verantwortlich sind.
- Kern: Enthält Kernfunktionen und Dienstprogramme, die von der gesamten Anwendung gemeinsam genutzt werden.
- configs: Enthält Konfigurationsdateien für das Projekt.
- di: Einrichtung der Abhängigkeitsinjektion zur Verwaltung von Abhängigkeiten und Diensten.
- Daten: Verwaltet Datenquellen, Repositorys und Datenmodelle.
- Domäne: Definiert die Domänenentitäten, Anwendungsfälle und Schnittstellen.
- Präsentation ──Bildschirme/Widgets: Enthält UI-Komponenten, Bildschirme und Widgets für die Anwendung.
Merkmale
- Saubere Architektur: Stellen Sie eine modulare und skalierbare Architektur für langfristige Wartbarkeit sicher.
- BLoC State Management: Effiziente Statusverwaltung für ein reibungsloses und vorhersehbares Benutzererlebnis.
Benutzeroberfläche
- Produktbildschirm: Benutzerfreundliche Anzeige von Produkten für müheloses Durchsuchen.
- Kategorien: Nahtlose Navigation durch verschiedene Produktkategorien.
- Produktdetails: Ausführliche Informationen für einen umfassenden Überblick über die Produkte.
- Suchfunktion: Robuste Suchfunktion für schnelle Produktfindung.
- Suchergebnisse: Klare und relevante Suchergebnisse für mehr Benutzerfreundlichkeit.
- Startbildschirm: Ansprechende Präsentation der vorgestellten Produkte und Kategorien.
- Filteroptionen: Intuitive Produktfilteroptionen für ein individuelles Einkaufserlebnis.
- Begrüßungsbildschirm: Fesselnder erster Ladebildschirm, der den Ton für die App vorgibt.
- Adressen: Verwalten und bearbeiten Sie Benutzeradressen mühelos für eine reibungslose Auftragsabwicklung.
- Paginierung: Implementieren Sie die Paginierung zum effizienten Laden großer Datenmengen und sorgen Sie so für ein reibungsloseres Benutzererlebnis.
Benutzerinteraktion
- Produkte sortieren: Optionen zum Sortieren von Produkten nach Kriterien wie dem Preis.
- Benachrichtigungen: Halten Sie Benutzer mit Updates zum Bestellstatus und mehr auf dem Laufenden.
Benutzerverwaltung
- Login/SignUp: Sichere Benutzerauthentifizierung für ein personalisiertes Erlebnis.
- Warenkorb: Nahtlose und intuitive Verwaltung ausgewählter Artikel vor dem Kauf.
- Benutzerprofil: Spezieller Bereich zum Verwalten von Adressen, Anzeigen des Bestellverlaufs und Personalisierung von Präferenzen.
- Auftragsverwaltung: Ermöglichen Sie dem Benutzer, Bestellungen aufzugeben und je nach Bestellstatus unterschiedliche Bestellergebnisbildschirme anzuzeigen.
Zusätzliche Funktionen
- Bild-Caching und Ladeoptimierung: Nutzen Sie das Paket
cached_network_image
zum effizienten Laden und Zwischenspeichern von Netzwerkbildern und steigern Sie so die Leistung. - SVG-Unterstützung: Nutzen Sie das
flutter_svg
-Paket zur Unterstützung von SVG-Bildern und bieten Sie so eine skalierbare und klare Benutzeroberfläche. - Daten-Caching: Verwenden Sie das Paket
shared_preferences
zum Zwischenspeichern kleiner Datenmengen und verbessern Sie so das Benutzererlebnis durch die Beibehaltung bestimmter Zustände. - Authentifizierung und sichere Speicherung: Implementieren Sie eine sichere Benutzerauthentifizierung mit dem
flutter_secure_storage
-Paket und stellen Sie sicher, dass vertrauliche Benutzerdaten sicher gespeichert werden. - Zustandsbehaftete Benutzeroberfläche mit Schimmereffekt: Verbessern Sie die Benutzeroberfläche, indem Sie den Schimmereffekt mithilfe des
shimmer
integrieren und so ein ausgefeiltes Ladeerlebnis bieten. - Dynamische Seitenindikatoren: Implementieren Sie dynamische Seitenindikatoren mit dem
dots_indicator
Paket und stellen Sie visuelle Hinweise für Benutzer bereit, wenn sie durch verschiedene Bildschirme navigieren. - HTTP-Anfragen und API-Integration: Nutzen Sie das
http
Paket für HTTP-Anfragen und integrieren Sie es nahtlos in externe APIs zum Abrufen und Aktualisieren von Daten. - Überprüfung der Netzwerkkonnektivität: Nutzen Sie das Paket
internet_connection_checker
um eine reibungslose Benutzererfahrung zu gewährleisten, indem Sie die Netzwerkkonnektivität überprüfen und verwalten. - Abhängigkeitsinjektion: Nutzen Sie das
get_it
-Paket für eine effiziente Abhängigkeitsinjektion, verbessern Sie die Wartbarkeit des Codes und verwalten Sie Abhängigkeiten effektiv. - Prinzipien der funktionalen Programmierung: Erkunden und implementieren Sie die Prinzipien der funktionalen Programmierung aus dem
dartz
-Paket, um die Klarheit des Codes und die Fehlerbehandlung zu verbessern. - Produkte teilen: Ermöglichen Sie Benutzern das Teilen von Produktdetails mithilfe des
share_plus
Pakets für eine nahtlose Weitergabe in sozialen Medien und anderen Plattformen. - Kontaktbildschirm mit URL-Launcher: Verwenden Sie das Paket
url_launcher
, um den Kontaktbildschirm zu öffnen, sodass Benutzer mit externen Links wie E-Mails oder Telefonnummern interagieren können. - Wunschliste mit Get Storage: Implementieren Sie eine Wunschlistenfunktion mithilfe des
get_storage
Pakets zum Speichern und Abrufen von Produkten und bieten Sie Benutzern ein personalisiertes Wunschlisten-Erlebnis. - Produktfreigabe mit Screenshot: Ermöglichen Sie Benutzern das Teilen von Produktdetails mit einem Screenshot mithilfe des
screenshot
Pakets und verbessern Sie so die Freigabefunktionen Ihrer App.
Abhängigkeiten
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.
App herunterladen
Bildschirme.
Erledigt:
- Produkte.
- Kategorien.
- Produktdetails.
- Suchen.
- Suchergebnis.
- Heim.
- Filter.
- Login.
- Melden Sie sich an.
- Spritzen.
- Warenkorb.
- Profil.
- Adressen.
- Adresse hinzufügen/bearbeiten.
- Produkte sortieren.
- Allgemeine Geschäftsbedingungen.
- Wunschliste.
- Kontaktieren Sie uns.
- Kasse.
- Bestellerfolg.
- Bestellfehler.
- Bestellungen.
- Benachrichtigungen.
Weitere Screenshots finden Sie hier
ToDo:
Demos.
login.mp4
Bestellungen-Warenkorb.mp4
Kategorien-Benachrichtigungen-Profilfilter.mp4
suche.mp4
- Normalerweise tritt dieser Fall auf, wenn Sie die App zum ersten Mal ohne Internetverbindung öffnen. Wenn es nicht das erste Mal ist, verwendet die App zwischengespeicherte Daten.
error-phoenix-refresh.mp4
Erste Schritte
- Klonen Sie das Repository.
- Navigieren Sie zum Projektverzeichnis.
- Führen Sie
flutter pub get
aus, um die Abhängigkeiten abzurufen. - Öffnen Sie das Projekt in Ihrer bevorzugten Flutter-IDE.
- Führen Sie die App auf dem gewünschten Emulator oder physischen Gerät aus.