Files
friflex_flutter_starter/README.md

64 lines
4.1 KiB
Markdown
Raw Normal View History

# Описание проекта Friflex Starter
## Общая информация
Friflex Starter - это стартовый шаблон для разработки Flutter-приложений, который предоставляет готовую структуру проекта, настроенные инструменты и лучшие практики разработки.
## Архитектура
Проект следует принципам чистой архитектуры с разделением на три основных слоя:
- **data** - слой данных, отвечающий за работу с API и локальным хранилищем
- **domain** - слой бизнес-логики, содержащий основные бизнес-правила и модели
- **presentation** - слой представления, отвечающий за UI и взаимодействие с пользователем
Каждая функциональность (feature) реализуется в отдельной папке с внутренним разделением на слои, что обеспечивает модульность и масштабируемость кода.
## Технологический стек
### Основные библиотеки
- **Роутинг**: [go_router](https://pub.dev/packages/go_router)
- **Управление состоянием**: [flutter_bloc](https://pub.dev/packages/flutter_bloc)
- **Внедрение зависимостей**: собственная реализация через InheritedWidget
- **Работа с ресурсами**: [flutter_gen](https://pub.dev/packages/flutter_gen)
- **Линтинг**: [friflex_lint_rules](https://pub.friflex.com/packages/friflex_lint_rules)
- **Хранение данных**:
- Защищенные данные: [flutter_secure_storage](https://pub.dev/packages/flutter_secure_storage)
- Обычные данные: [shared_preferences](https://pub.dev/packages/shared_preferences)
- **Работа с API**: [dio](https://pub.dev/packages/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/`, особенно с инструкциями по запуску проекта и стилем написания кода.