mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2025-12-21 17:10:45 +00:00
799252f6f506adfde338eff10e9436bcd6c69656
Описание проекта Friflex Starter
Общая информация
Friflex Starter - это стартовый шаблон для разработки Flutter-приложений, который предоставляет готовую структуру проекта, настроенные инструменты и лучшие практики разработки.
Архитектура
Проект следует принципам чистой архитектуры с разделением на три основных слоя:
- data - слой данных, отвечающий за работу с API и локальным хранилищем
- domain - слой бизнес-логики, содержащий основные бизнес-правила и модели
- presentation - слой представления, отвечающий за UI и взаимодействие с пользователем
Каждая функциональность (feature) реализуется в отдельной папке с внутренним разделением на слои, что обеспечивает модульность и масштабируемость кода.
Технологический стек
Основные библиотеки
- Роутинг: go_router
- Управление состоянием: flutter_bloc
- Внедрение зависимостей: собственная реализация через InheritedWidget
- Работа с ресурсами: flutter_gen
- Линтинг: friflex_lint_rules
- Хранение данных:
- Защищенные данные: flutter_secure_storage
- Обычные данные: shared_preferences
- Работа с API: dio
Структура проекта
Основные директории
/lib- основной код приложения/app- основные компоненты приложения/features- функциональные модули/router- настройка маршрутизации/di- настройка внедрения зависимостей/l10n- локализация/gen- сгенерированные файлы/targets- специфичные настройки для разных платформ
/assets- ресурсы приложения/test- тесты/tools- инструменты и документация/app_services- сервисы приложения
Конфигурационные файлы
pubspec.yaml- зависимости и метаданные проектаanalysis_options.yaml- настройки анализа кодаl10n.yaml- настройки локализации
Документация для проектов
Проект содержит подробную документацию в директории /tools/rfc/:
- Рекомендованный README для проекта
- Инструкции по запуску проект
- Стиль написания кода
- Git-flow процесс
- Структуру проекта
- Правила ведения документации
Дополнительные особенности
- Поддержка мультиязычности (l10n)
- Шаблон для PR
- Настроенный анализ кода (analysis_options.yaml)
Начало работы
Для начала работы с проектом рекомендуется ознакомиться с документацией в директории /tools/rfc/, особенно с инструкциями по запуску проекта и стилем написания кода.
Рекомендованный Readme для проектов
Приложение [ProjectName]
Структура проекта
- проект архитектурно делится на три слоя: data, domain и presentation;
- все [features] реализуются в отдельных папках, с внутренним делением на слои;
Основные пакеты и реализации (обновляется при добавлении или изменении)
- управление роутингом: go_router;
- основной state manager: flutter_bloc;
- di: ручная реализация через InheritedWidget;
- работа с ресурсами: flutter_gen;
- анализатор: используем friflex_lint_rules, с правилами написания кода от компании.;
- для хранения защищенных данных - flutter_secure_storage;
- для хранения данных - shared_preferences;
- для работы с API - dio;
Инструкция по запуску проекта
Стиль написания кода
Внесение изменений в код
Структура проекта
Ведение документации и комментариев в проекте
Description
Languages
Dart
99.8%
Shell
0.2%