- Flutter 3.10.x
- Android Studio - latest version
- MacOS & XCode (for build & debug iOS)
- Download Android
- Download iOS
- Link Web
- Firebase console
- Design Figma
- Tasks - Trello
- Source code - Gitlap
-
Step 1: Download or clone this repo by using the link below:
https://gitlab.com/
-
Step 2: Install Flutter
- Install the platform-specific SDK here
-
Step 3: Setup flutter and run locally
-
Go to project root and execute the following command in console to get the required dependencies:
flutter pub get
-
Connect your physical device or open simulator. then run your app
flutter run
-
-
Step 4: This project uses inject library that works with code generation, execute the following command to generate files (re-run every time you change one of these files)
- Firstly, If you have not install flutter_gen yet. [Click here](https://pub.dev/packages/flutter_gen#installation) - Secondly, generate files for packages that use build_runner (auto_route, freezed...) ```sh flutter pub run build_runner build --delete-conflicting-outputs ```
-
Step 5: Execute the following command to build app:
-
Change version and build number in
pubspec.yaml
flutter build appbundle
-
Or run command line below to build with your build version
flutter build appbundle --build-name=1.2.0 --build-number=2
-
Access Play console to create a new release and upload your build
- Change version and build number in Xcode
- Access https://developer.apple.com/ to download profile and signing your app
-
Manually: Pod install then Open Xcode to deploy
flutter build ios --release --no-codesign cd ios && pod install
- Open XCode and deploy
- On menu bar, select Product > Archive to build and deploy to TestFlight
-
Use Fastlane: run command bellow
cd ios fastlane beta
-
-
In Flutter, Modularization will be done at a file level. While building widgets, we have to make sure they stay independent and re-usable as maximum. Ideally, widgets should be easily extractable into an independent project.
-
Must know
- Model name start with
M
: MUser, MProduct, MGroup... - Common widget start with
X
: XButton, XText, XAppbar... - These widgets under folderlib/widgets/
- App Constants class or service start with
Add
: AppStyles, AppColor, AppRouter, AppCoordinator,.. and UserPrefs
- Model name start with
-
flutter_bloc A dart package that helps implement the BLoC pattern. Learn more at bloclibrary.dev!
-
go_route It’s a Flutter navigation package
-
flutter_gen The Flutter code generator for your assets, fonts, colors, … — Get rid of all String-based APIs.