AliAltiyev / test

Test application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is only test project and nothing more.

Дизайн без названия

Дизайн без названия (1)

🧐 Gitflow

Branches:

  • master

💻 Architecture

  • Clean Architecture + BloC
  • Dependency Injection: GetIt
  • Domain layer: models, repositories, use-cases.
  • Data layer: entities, mappers from entities to domain model, implementations of repositories and providers.
  • Presentation layer: screens + bloc

🛡️ Supported flavors

  • dev

🪓 Project structure

Modules

  • core

  • core_ui

  • navigation

  • data

  • domain

  • For presentation layer every feature is a separate module.

⏳ Asynchrony support

  • Flutter Async

📑 Abstractions for data sources and data access

  • Providers are responsible for specific services (e.g. http provider, local provider, etc.), they use data layer entities. Do not have abstract base classes. Repositories are responsible for gathering data from providers and mapping it to the corresponding domain layer models. Have abstract base classes in domain layer.

🐿️ Presentation layer abstractions

  • Base and frequently used widgets are stored in core_ui module. Base widget for screens is AppScaffold. Example: CustomScreen -> CustomForm Navigation is implemented using Auto Route Navigation on BLoC event is done from the BLoC object itself without BuildContext, router is stored in DI container and is injected in BLoC via constructor.

🐧 Approach for working with UI

  • One file = one widget.
  • Screen widget contains BlocProviders.

🌍 Localization

  • Localization is implemented using EasyLocalization service.

🎨 Design system

  • Fonts, colors, frequently used constant values, and icons are stored in core_ui module.

📲 Supported platforms

  • Mobiles - Android and IOS

About

Test application


Languages

Language:Dart 78.7%Language:CMake 10.5%Language:C++ 4.9%Language:Swift 2.7%Language:HTML 2.2%Language:C 0.8%Language:Kotlin 0.2%Language:Objective-C 0.0%