Пийикс
Piiicks — это приложение для электронной коммерции Flutter, тщательно разработанное с чистой архитектурой и оснащенное эффективным управлением состоянием BLoC, обеспечивающим масштабируемость, удобство обслуживания и оптимальную производительность. Погрузитесь в беспрепятственный опыт программирования с элегантным интерфейсом и надежными функциями, разработанными для повышения качества покупок в Интернете.
Структура каталогов.
- библиотека
- main.dart: точка входа приложения.
- Приложение ──блоки/кубиты: содержит классы BLoC (компонент бизнес-логики) или Cubit, отвечающие за управление состоянием приложения.
- ядро: Содержит основные функции и утилиты, общие для всего приложения.
- configs: содержит файлы конфигурации проекта.
- di: настройка внедрения зависимостей для управления зависимостями и службами.
- данные: управляет источниками данных, репозиториями и моделями данных.
- Домен: определяет сущности домена, варианты использования и интерфейсы.
- презентация ──экраны/виджеты: содержит компоненты пользовательского интерфейса, экраны и виджеты для приложения.
Функции
- Чистая архитектура. Обеспечьте модульную и масштабируемую архитектуру для долгосрочной удобства обслуживания.
- Управление состоянием BLoC: эффективное управление состоянием для плавного и предсказуемого взаимодействия с пользователем.
Пользовательский интерфейс
- Экран продукта: удобное отображение продуктов для удобного просмотра.
- Категории: Удобная навигация по различным категориям продуктов.
- Подробная информация о продукте: Подробная информация для полного обзора продуктов.
- Функциональность поиска: надежная функция поиска для быстрого поиска продуктов.
- Результаты поиска: четкие и релевантные результаты поиска для удобства пользователей.
- Главный экран: привлекательная демонстрация избранных продуктов и категорий.
- Параметры фильтра: интуитивно понятные параметры фильтрации товаров для индивидуального оформления покупок.
- Заставка: захватывающий начальный экран загрузки, задающий тон приложению.
- Адреса: легко управляйте и редактируйте адреса пользователей для бесперебойной обработки заказов.
- Разбиение на страницы. Внедрите разбиение на страницы для эффективной загрузки больших наборов данных, обеспечивая более плавное взаимодействие с пользователем.
Взаимодействие с пользователем
- Сортировка товаров: варианты сортировки товаров по таким критериям, как цена.
- Уведомления: информируйте пользователей о статусе заказа и многом другом.
Управление пользователями
- Вход/регистрация: безопасная аутентификация пользователя для персонализированного опыта.
- Корзина покупок: простое и интуитивно понятное управление выбранными товарами перед покупкой.
- Профиль пользователя: специальный раздел для управления адресами, просмотра истории заказов и персонализации предпочтений.
- Управление заказами: позволяет пользователю делать заказы и отображать различные экраны результатов заказа в зависимости от статуса заказа.
Дополнительные возможности
- Кэширование изображений и оптимизация загрузки. Используйте пакет
cached_network_image
для эффективной загрузки и кэширования сетевых изображений, повышая производительность. - Поддержка SVG: используйте пакет
flutter_svg
для поддержки изображений SVG, обеспечивая масштабируемый и четкий пользовательский интерфейс. - Кэширование данных: используйте
shared_preferences
для кэширования небольших объемов данных, улучшая взаимодействие с пользователем за счет сохранения определенных состояний. - Аутентификация и безопасное хранение. Внедрите безопасную аутентификацию пользователей с помощью пакета
flutter_secure_storage
, гарантируя безопасное хранение конфиденциальных пользовательских данных. - Пользовательский интерфейс с сохранением состояния и эффектом мерцания: улучшите пользовательский интерфейс, включив эффект мерцания с помощью пакета
shimmer
, обеспечивая удобство загрузки. - Динамические индикаторы страниц: реализуйте динамические индикаторы страниц с помощью пакета
dots_indicator
, предоставляя пользователям визуальные подсказки при навигации по различным экранам. - HTTP-запросы и интеграция API: используйте пакет
http
для выполнения HTTP-запросов и легко интегрируйтесь с внешними API для получения и обновления данных. - Проверка сетевого подключения. Используйте пакет
internet_connection_checker
, чтобы обеспечить удобство работы пользователя путем проверки и управления сетевым подключением. - Внедрение зависимостей: используйте пакет
get_it
для эффективного внедрения зависимостей, повышения удобства сопровождения кода и эффективного управления зависимостями. - Принципы функционального программирования. Изучите и реализуйте принципы функционального программирования из пакета
dartz
, повышая ясность кода и обработку ошибок. - Делитесь продуктами: дайте пользователям возможность делиться подробностями о продуктах с помощью пакета
share_plus
для беспрепятственного обмена в социальных сетях и на других платформах. - Экран «Свяжитесь с нами» с панелью запуска URL-адресов: используйте пакет
url_launcher
чтобы открыть экран «Свяжитесь с нами», позволяя пользователям взаимодействовать с внешними ссылками, такими как электронные письма или номера телефонов. - Список желаний с Get Storage: реализуйте функцию списка желаний с помощью пакета
get_storage
для сохранения и извлечения продуктов, предоставляя пользователям персонализированный опыт работы со списком желаний. - Совместное использование продукта со снимком экрана. Разрешите пользователям делиться подробностями продукта со снимком экрана с помощью пакета
screenshot
, расширяя возможности совместного использования вашего приложения.
Зависимости
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.
Скачать приложение
Экраны.
Сделанный:
- Продукты.
- Категории.
- Подробная информация о продукте.
- Поиск.
- Результат поиска.
- Дом.
- Фильтр.
- Авторизоваться.
- Зарегистрироваться.
- Всплеск.
- Корзина.
- Профиль.
- Адреса.
- Добавить/изменить адрес.
- Сортировка продуктов.
- Условия использования.
- Список желаний.
- Связаться с нами.
- Проверить.
- Заказать Успех.
- Сбой заказа.
- Заказы.
- Уведомления.
Больше скриншотов здесь
Что сделать:
Демо.
логин.mp4
заказы-cart.mp4
категории-уведомления-профиль-filter.mp4
поиск.mp4
- Обычно этот случай происходит, если вы впервые открываете приложение без подключения к Интернету. Если это не первый раз, приложение будет использовать кэшированные данные.
ошибка-феникс-обновить.mp4
Начиная
- Клонируйте репозиторий.
- Перейдите в каталог проекта.
- Запустите
flutter pub get
чтобы получить зависимости. - Откройте проект в предпочитаемой вами Flutter IDE.
- Запустите приложение на желаемом эмуляторе или физическом устройстве.