Files
friflex_flutter_starter/README.md

64 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Описание проекта 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/`, особенно с инструкциями по запуску проекта и стилем написания кода.