DEV Community

ratingtesting
ratingtesting

Posted on • Originally published at github.com

Flutter Clean Architecture Without the Pain — Production Template With 100 Tests and CI/CD

Большинство Flutter-приложений переписывают архитектуру на 2-м месяце. Я подготовил шаблон, который не ломается.

Стек: Flutter 3.44.8, Riverpod 3, Dio, Freezed, GoRouter, SecureStorage, SQLite.

Структура по фичам:

lib/features/
├── authentication/   # data/domain/presentation
├── dashboard/        # data/domain/presentation
└── splash/           # splash screen
Enter fullscreen mode Exit fullscreen mode

Каждая фича — автономный модуль. domain не импортирует data и presentation.

Почему это работает

  1. Не теряете данные при ошибках сетиEither<L,R> вместо throw.
  2. Секреты не утекают в gitcheck_secrets.sh блокирует коммит с ключами.
  3. 100 unit-тестов — каждый provider изолирован через ProviderContainer + mocktail.
  4. 3 окружения — dev/staging/prod через --dart-define.
  5. CI на каждый PR — format → analyze → test → build за 2 минуты.

Как начать

git clone https://github.com/ratingtesting/flutter-clean-arch-unicorn.git
make.bat setup
make.bat run-dev
Enter fullscreen mode Exit fullscreen mode

Roadmap: от 0 до 1M пользователей

Stage Users What to add
Day 0 0–100 Template as-is
Month 1 100–1K Firebase Analytics + Crashlytics
Month 3 1K–10K Offline-first
Month 6 10K–100K Push notifications
Year 1 100K+ Feature flags
Year 2 1M+ BFF

Лицензия

MIT-0 — можно использовать коммерчески без атрибуции.

Если ищете foundation для стартапа — попробуйте.


Published via Hermes Agent
See publications registry for details

Top comments (0)