Проект чистой архитектуры Flutter
Обзор проекта
Этот проект Flutter следует за схемой чистой архитектуры, который способствует разделению проблем и обслуживаемости. Проект структурирован на несколько слоев:
Уровень презентации : содержит виджеты, страницы и логику презентации (BLOC). Обрабатывает пользовательский интерфейс и взаимодействие с пользователем.
Доменное слой : содержит варианты использования, доменные сущности и абстрактный репозиторий.
Уровень данных : управляет источниками данных, репозиториями и моделями данных. Отвечает за поиск данных и хранение. Разделены на repositories , model , local_data_sources и remote_data_sources .
Ключевые функции
Функция входа в систему
Наше приложение включает в себя надежную систему входа. Вот ключевые аспекты этой функции:
Проверка ввода : мы гарантируем, что пользовательские входные данные, такие как электронная почта и пароль, подтверждены для поддержания целостности данных.
Аутентификация : при введении действительных учетных данных пользователи аутентифицируют и предоставляют доступ к своим учетным записям.
Функция регистрации
Создание учетной записи является простым с нашей функцией регистрации. Ключевые элементы включают:
Проверка ввода : аналогично функции входа в систему, мы проверяем входы пользователей, чтобы обеспечить точность данных с помощью проверки файла изображения.
Создать Accout : После введения действительных учетных данных пользователи действительны для создания Accout.
Структура папки
- lib/функции/функция/
- Презентация/ : содержит виджеты и логику презентации.
- Домен/ : содержит варианты использования и доменные объекты.
- данные/
- Репозитории/ : реализует хранилища данных.
- Модель/ : Определяет модели данных.
- local_data_sources/ : управляет локальными источниками данных.
- remote_data_sources/ : обрабатывает отдаленные источники данных.
Пакеты
- Флаттер : трепетание SDK.
- Cupertino_icons : предоставляет значки Cupertino, используемые в проекте.
- shared_preferences : плагин для доступа и хранения пар клавиш на устройстве.
- GET_IT : локатор обслуживания для впрыскивания зависимости.
- Dartz : функциональный пакет программирования, который обеспечивает общие алгебраические типы данных и функции.
- Flutter_bloc : библиотека управления государством на основе шаблона блока (компонента бизнес -логики).
- Совместно : утилита для сравнения объектов для равенства.
- DIO : мощный HTTP -клиент для выполнения запросов API.
- Форма : пакет для обработки формы и управления государством.
- GO_ROUTER : декларативный маршрутизатор для приложений Flutter.
- MIME : пакет для работы с типами MIME.
- file_picker : плагин для выбора файлов с устройства.
- Mocktail : насмешливая библиотека для тестов DART и Flutter.
- Internet_connection_checker : пакет для проверки подключения к Интернету.
В дополнение к зависимостям, есть также некоторые зависимости DEV, используемые для тестирования и генерации кода:
- Flutter_test : структура испытания Flutter.
- Mockito : издевательная библиотека для тестов DART и Flutter.
- BUILD_RUNNER : инструмент для генерации кода во время процесса сборки.
- bloc_test : утилита тестирования для тестирования блоков.
- network_image_mock : пакет для насмешливых сетевых изображений во время тестов.