FLUTTER ECOSYSTEM

AkoWu101/flutter_starter_kit

一個適用於初學者的入門工具包,使用 Bloc 模式、RxDart、sqflite、Fluro 和 Dio 來架構 Flutter 項目。此工具包以應用商店應用為範例。

flutter_starter_kit 專案封面
Stars
804
Forks
130
最近推送(UTC)
2022年5月18日
專案狀態
未封存
Ako101 GitHub avatar
GITHUB User

Ako101 ↗

Product Owner | UX Design | Flutter | Android | Nodejs | VueJS | ReactJS | AngularJS | Unity

Wenjetso 搵著數 | PlakerLab 創玩坊Hong Kong官方網站 ↗
語言DartRubyKotlinSwiftObjective-C

技術主題

使用的依賴

依賴清單 20 項

所在榜單

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

展開 / 收合專案 README

Flutter Starter Kit - App Store Example

A starter kit for beginner learns with Bloc pattern, RxDart, sqflite, Fluro and Dio to architect a flutter project. This starter kit build an App Store app as a example

App Store Flutter Demo

Feature

  • Bloc Pattern
  • Navigate pages by Fluro
  • Local cache by using sqflite
  • Restful api call by using Dio
  • Database debugging (Android Only) by using flutter_stetho
  • Loading Network Image
  • Localization by using gen_lang and lang_table
  • Environment Variable & Project Config (Like App Name, Bundle Id) based on different project flavour (Development, Staging & Production)
  • Build pojo by using json_serializable
  • Update each list item instead of re-rendering whole list view when data set has changed on a list item
  • Hero animation
  • Show empty View when the list view is empty

Install

  1. Follow flutter official setup guide to set up flutter environment
  2. Download flutter version 1.17.3

Remark: This starter kit support Flutter version - 1.17.3. It is because Flutter may have breaking change on latest version.

Run Config

  1. Click 'Edit Configuration'
  2. Create different run configs for flavours

Edit Config

Config

Flavour

Useful Command

Run flutter_starter_kit

For development,

flutter run --flavor development -t lib/config/main_development.dart

For staging,

flutter run --flavor staging -t lib/config/main_staging.dart

For production,

flutter run --flavor production -t lib/config/main_production.dart
Generate json serialize and deserialize functions
flutter packages pub run build_runner build --delete-conflicting-outputs
lang_table
flutter packages pub run lang_table:generate --platform=airTable --input=https://api.airtable.com/v0/appZmh0WMg3y6APAg/example --api-key={YOUR API KEY} --target=Flutter
gen_lang
flutter packages pub run gen_lang:generate

Known Issues

Migration Guide

  • If you wanna to use this project as your project's base, please read migration guide

Reference

From other platform?
Learn Widget & Layout
Bloc Pattern
Json Serialization
Localization
Flavouring
Advance Topic
Powered By