•  


GitHub - wasabeef/flutter-architecture-blueprints: Flutter Architecture Blueprints is a project that introduces MVVM architecture and project structure approaches to developing Flutter apps.
Skip to content
This repository has been archived by the owner on Jun 9, 2022. It is now read-only.

Flutter Architecture Blueprints is a project that introduces MVVM architecture and project structure approaches to developing Flutter apps.

License

Notifications You must be signed in to change notification settings

wasabeef/flutter-architecture-blueprints

Repository files navigation

Flutter Architecture Blueprints

Flutter Architecture Blueprints is a project that introduces MVVM architecture and project structure approaches to developing Flutter apps.

Documentation

Installation

Environment

iOS

  • iOS 13+

Android

  • Android 5.1+
    • minSdkVersion 22
  • targetSdkVersion 30

App architecture

Code Style

Assets, Fonts

If added some assets or fonts

Models

If added some models for api results

Localizations

If added some localizations (i.g. edited *.arb )

Git Commit message style

Code collections

Project settings

Working status Category Description Codes
? Dart Dart version pubspec.yaml
? asdf asdf .tool-versions
? Dart Switching between Development and Production environment constants.dart , runConfigurations , Makefile
? Dart Lint / Analyze analysis_options.yaml
? Android Kotlin version build.gradle
? Android Apk attributes build.gradle ( compileSdkVersion , applicationId , minSdkVersion , targetSdkVersion )
? Android Switching between Development and Production environment build.gradle , Flavor dirs , signingConfigs
? iOS Xcode version compatibilityVersion
? iOS Podfile Podfile
? iOS Switching between Development and Production environment xcconfig , Podfile
? Firebase [Android] Switching between Development and Production google-service.json using flavors development and production
? Firebase [iOS] Switching between Development and Production GoogleService-Info.plist using run script copy_google_service.sh , development and production
? Firebase Auth SignIn, SignOut auth_data_source_impl.dart
? Firebase Crashlytics Crash Reports main.dart
? Firebase Performance Network monitoring with dio_firebase_performance app_dio.dart

Architecture

Working status Category Description Codes
? Base Using Riverpod + Hooks + ChangeNotifier + MVVM news_page.dart , news_view_model.dart , news_repository.dart , news_data_source.dart
? Networking Using dio and Retofit app_dio.dart , news_data_source.dart
? Data Using Freezed model classes
? Constants Define constants and route names constants.dart
? Localization Switching between two languages with Intl package *.arb
? Error handling Using Result pattern - A value that represents either a success or a failure, including an associated value in each case. result.dart , news_repository_impl.dart , home_page.dart

UI

Working status Category Description Codes
? Theme Staticly Switch between light and dark themes app_theme.dart
? Font Using Google font app_theme.dart
? Transition Simple animation between screens using Hero article_item.dart , detail_page.dart

Testing

Working status Category Description Codes
? API(Repositories) Using mocktail view_mode_test.dart
?? UI Using mocktail widget_test.dart
? Coverage reports Send the report to Codecov on CI codecov.yml , codecov.sh , flutte-ci.yml

CI

Working status Category Description Codes
? Git Git hooks for format and analyze package.json , Makefile
? Git .gitignore settings .gitignore
? Build Using Codemagic codemagic.yaml
? Build Using Bitrise bitrise.yml
? Build Using Github Actions .github/workflows/flutter-ci.yml

Getting Started

Setup

$ make setup
$ 
export
 PATH=
"
$PATH
"
:
"
$HOME
/.pub-cache/bin
"
 #
 Add your run-commands (.zshrc, .bashrc, etc)

$ make dependencies
$ make build-runner

How to add assets(images..)

  1. Add assets
  2. Run FlutterGen

How to add localizations

  1. Edit *.arb files.
  2. Run generate the flutter pub get

Make .apk and .ipa file

Android

$ make build-android-dev
$ make build-android-prd

iOS

$ make build-ios-dev
$ make build-ios-prd

Run app

$ make run-dev
$ make run-prd

Special Thanks.

Contributors

About

Flutter Architecture Blueprints is a project that introduces MVVM architecture and project structure approaches to developing Flutter apps.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 
- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본