2025-01-21 14:24:31 +03:00

Описание проекта Friflex Starter

Общая информация

Friflex Starter - это стартовый шаблон для разработки Flutter-приложений, который предоставляет готовую структуру проекта, настроенные инструменты и лучшие практики разработки.

Архитектура

Проект следует принципам чистой архитектуры с разделением на три основных слоя:

  • data - слой данных, отвечающий за работу с API и локальным хранилищем
  • domain - слой бизнес-логики, содержащий основные бизнес-правила и модели
  • presentation - слой представления, отвечающий за UI и взаимодействие с пользователем

Каждая функциональность (feature) реализуется в отдельной папке с внутренним разделением на слои, что обеспечивает модульность и масштабируемость кода.

Технологический стек

Основные библиотеки

Структура проекта

Основные директории

  • /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
No description provided
Readme 1.2 MiB
Languages
Dart 99.8%
Shell 0.2%