Dependency Injection is a great design pattern that allows us to eliminate rigid dependencies between elements and it makes the application more flexible

Overview

GetX lib

image

DI pattern

Dependency Injection is a great design pattern that allows us to eliminate rigid dependencies between elements and it makes the application more flexible, easy to expand scales and maintain. In the project we use Plugin getX to implement DI and we have also defined classes so you can easily implement DI in the DI layer.

Routes

We use GetX route management to manager routers and use Getx bindings for provide dependencies of that route.

Network.

 * Project can use retrofit to work with the alternative network for http.
 * Retrofit is pre-installed in the "ApiModule.dart". You can customize it here
 * All interceptors are defined in the /configuration/lib/network/interceptor/* class
 * To work with Certificate, please refer to the "/configuration/lib/network/http_overrides.dart" class, with the default the project accept badCertificate

Environment settings.

Link tutorial: https://www.chwe.at/2020/10/flutter-flavors/

 * All flavor environments are installed in the "/configuration/lib/environment/buid_config.dart" class.
 * Basically we are defining 4 development environments: development, staging, preprod and release.
 * Run App

You can run the app using the commands only ANDROID:

## development: flutter run -t lib/main_dev.dart --debug --flavor dev

## staging: flutter run -t lib/main_stag.dart --debug --flavor stag

## preprod: flutter run -t lib/main_prod.dart --debug --flavor prod
Build App

You can build the app using the commands

for Android

## development: flutter build apk -t lib/main_dev.dart --flavor dev

## staging: flutter build apk -t lib/main_stag.dart --flavor stag

## preprod: flutter build apk -t lib/main_prod.dart --flavor prod

for IOS (updating...)

resources

  * All resources (images, fonts, videos, ...) must be placed in the assets class
  * Before using them, please declare the path in constants class and the suffix of the class to be type_provide (image_provide.dart)

Json parsing / serialization

This project is implementing json_serializable. It use build_runner to generate files. If you make a change to these files, you need to re-run the generator using build_runner:

flutter pub run build_runner build

Localization

Using this library to handle multi-languages. Follow this guide to understand and config languages files

Hide Generated Files

In-order to hide generated files, navigate to Android Studio -> Preferences -> Editor -> File Types and paste the below lines under ignore files and folders section:

*.inject.summary;*.inject.dart;*.g.dart;

In Visual Studio Code, navigate to Preferences -> Settings and search for Files:Exclude. Add the following patterns:

**/*.inject.summary
**/*.inject.dart
**/*.g.dart

END

_/___.' >' "". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `_. \_ __\ /__ _/ .-` / / =====`-.____`.___ \_____/___.-`___.-'===== `=---=' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BuddhaBlessings NoBUG ">
                  _oo0oo_
                 o8888888o
                 88" . "88
                 (| -_- |)
                 0\  =  /0
               ___/`---'\___
             .' \\|     |'.
            / \\|||  :  |||\
           / _||||| -:- |||||- \
          |   | \\\  -  /|   |
          | \_|  ''\---/''  |_/ |
          \  .-\__  '-'  ___/-. /
        ___'. .'  /--.--\  `. .'___
     ."" '<  `.___\_<|>_/___.' >' "".
    | | :  `- \`.;`\ _ /`;.`/ - ` : | |
    \  \ `_.   \_ __\ /__ _/   .-` /  /
=====`-.____`.___ \_____/___.-`___.-'=====
                  `=---='


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        BuddhaBlessings        NoBUG
You might also like...

You can use this package for transition between screens with interesting way with amazing animation

You can use this package for transition between screens with interesting way with amazing animation

You can use this package for transition between screens with interesting way with amazing animation

Jul 10, 2022

Functional programming essentials for Dart. Tail call optimization, partial application, memoization, and more.

Pure is a Dart package that brings functional programming essentials through extension methods. It offers function composition/pipes, function memoization, partial application, and recursion trampolines.

Oct 27, 2022

Log snapshot management solution (iOS/Android/Web/Server) built with Flutter/Dart using Bloc pattern and Firebase Firestore backend.

Log snapshot management solution (iOS/Android/Web/Server) built with Flutter/Dart using Bloc pattern and Firebase Firestore backend.

Log snapshot management solution (iOS/Android/Web/Server) built with Flutter/Dart using Bloc pattern and Firebase Firestore backend.

Nov 9, 2022

How to use the Robot Testing pattern in Flutter

How to use the Robot Testing pattern in Flutter

Robot Testing Pattern in Flutter Developed with 💙 by Very Good Ventures 🦄 This project showcases how to apply the Robot Testing pattern to a Flutter

Dec 16, 2022

A configurable pattern finder for static analysis written in Dart

mistdumper A configurable pattern finder for static analysis written in Dart. It is meant to retrieve offsets from file on disk without running them.

Sep 12, 2022

Collects screen sizes and pixel densities for real iPhones, iPads, Google phones, Samsung phones, and more.

Collects screen sizes and pixel densities for real iPhones, iPads, Google phones, Samsung phones, and more.

Device Sizes This package aggregates screen sizes and pixel densities for as many physical devices as possible. The purpose of this package is to help

Jan 8, 2023

Scribble is a lightweight library for freehand drawing in Flutter supporting pressure, variable line width and more!

Scribble is a lightweight library for freehand drawing in Flutter supporting pressure, variable line width and more!

Scribble Scribble is a lightweight library for freehand drawing in Flutter supporting pressure, variable line width and more! A

Dec 16, 2022

With this package you can display numbers or any other text more nicely

With this package you can display numbers or any other text more nicely

flutter_number_animation With this package you can display numbers or any other text more nicely Preview Works with text too! How to use Add this to y

Jun 7, 2022

Official Git of flutter code-push made by Chimera inc. If you want to get more info or seek for biz corporation, you can contact [email protected].

中文版 Chimera Flutter Code Push Chimera is a Dart compiler developed by ourselves, which generates interpretable and executable bytecode to implement co

Oct 6, 2022
Owner
Trương Việt Hoàng
android, flutter, c, java
Trương Việt Hoàng
Okan YILDIRIM 37 Jul 10, 2022
A CLI for syncing Dart dependency versions between pubspec.yaml and pubspec.lock files.

lockpick A CLI for syncing Dart dependency versions between pubspec.yaml and pubspec.lock files. ?? Usage # Activate lockpick pub global activate lock

Jeroen Meijer (Jay) 34 Oct 17, 2022
Provides Dart Build System builder for creating Injection pattern using annotations.

Provides Dart Build System builder for creating Injection pattern using annotations. Gate generator The core package providing generators using annoat

Apparence.io 17 Dec 20, 2022
Quiver is a set of utility libraries for Dart that makes using many Dart libraries easier and more convenient, or adds additional functionality.

Quiver is a set of utility libraries for Dart that makes using many Dart libraries easier and more convenient, or adds additional functionality.

Google 905 Jan 2, 2023
Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.

Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.

Luke Pighetti 3.5k Jan 4, 2023
A simple flexible API wrapper for coinbase commerce API. Totally unofficial.

coinbase_commerce A dart library that connects to interact with the Coinbase Commerce API. Enables projects to connect seamlessly to coinbase and rece

Onuoha Obinna 3 Oct 17, 2021
Flexible retry library for Dio package

Flexible retry library for Dio package. This is a next generation of an abandoned dio_retry package.

Rodion Mostovoy 43 Dec 12, 2022
Uproot(uprt) is a multi-platform (Windows, MacOs, and Linux) command line utility written in Dart to convert a router's DHCP IP Reservations between routers

UPROOT Uproot(uprt) is a multi-platform (Windows, MacOs, and Linux) command line utility written in Dart to convert a router's DHCP IP Reservations be

GeekVisit 73 Jan 1, 2023
Provides simple conversion between Dart classes and Protobuf / Fixnum classes used in gRPC.

grpc_protobuf_convert Provides simple conversion between Dart classes and Protobuf / Fixnum classes used in gRPC. Using the library Add the repo to yo

null 2 Nov 1, 2022