{"id":13491584,"url":"https://github.com/KingWu/flutter_starter_kit","last_synced_at":"2025-03-28T08:33:20.661Z","repository":{"id":41293842,"uuid":"165224220","full_name":"KingWu/flutter_starter_kit","owner":"KingWu","description":"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","archived":false,"fork":false,"pushed_at":"2022-05-18T06:13:38.000Z","size":131,"stargazers_count":793,"open_issues_count":1,"forks_count":128,"subscribers_count":27,"default_branch":"master","last_synced_at":"2024-10-31T05:34:52.826Z","etag":null,"topics":["android","flutter","flutter-bloc","flutter-demo","flutter-examples","ios","mobile","mobile-app","mobile-development","rxdart","starter-kit"],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KingWu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-11T10:19:21.000Z","updated_at":"2024-10-28T06:19:13.000Z","dependencies_parsed_at":"2022-08-29T11:20:23.619Z","dependency_job_id":null,"html_url":"https://github.com/KingWu/flutter_starter_kit","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingWu%2Fflutter_starter_kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingWu%2Fflutter_starter_kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingWu%2Fflutter_starter_kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KingWu%2Fflutter_starter_kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KingWu","download_url":"https://codeload.github.com/KingWu/flutter_starter_kit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245996826,"owners_count":20707332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","flutter","flutter-bloc","flutter-demo","flutter-examples","ios","mobile","mobile-app","mobile-development","rxdart","starter-kit"],"created_at":"2024-07-31T19:00:58.380Z","updated_at":"2025-03-28T08:33:20.120Z","avatar_url":"https://github.com/KingWu.png","language":"Dart","readme":"# Flutter Starter Kit - App Store Example\n\nA 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\n\n![App Store Flutter Demo](https://i.ibb.co/FsyWhpY/ezgif-3-5dbb34baf658.gif)\n\n## Feature\n- Bloc Pattern\n- Navigate pages by [Fluro](https://github.com/theyakka/fluro)\n- Local cache by using [sqflite](https://github.com/tekartik/sqflite)\n- Restful api call by using [Dio](https://github.com/flutterchina/dio)\n- Database debugging (Android Only) by using [flutter_stetho](https://github.com/brianegan/flutter_stetho)\n- Loading Network Image\n- Localization by using [gen_lang](https://github.com/KingWu/gen_lang)\n  and [lang_table](https://github.com/KingWu/lang_table)\n- Environment Variable \u0026 Project Config (Like App Name, Bundle Id) based on different project flavour (Development, Staging \u0026 Production)\n- Build pojo by using json_serializable\n- Update each list item instead of re-rendering whole list view when data set has changed on a list item\n- Hero animation\n- Show empty View when the list view is empty\n\n## Install\n\n1. Follow flutter [official setup guide](https://flutter.io/docs/get-started/install) to set up flutter environment\n2. Download [flutter version 1.17.3](https://flutter.dev/docs/development/tools/sdk/releases)\n\nRemark: This starter kit support Flutter version - 1.17.3. It is because Flutter may have breaking change on latest version.\n\n## Run Config\n1. Click 'Edit Configuration'\n2. Create different run configs for flavours\n\n![Edit Config](https://i.ibb.co/sbkgnmN/Screen-Shot-2019-01-13-at-7-28-44-PM.png)\n\n![Config](https://i.ibb.co/tqPgMVz/Screen-Shot-2019-01-13-at-7-52-38-PM.png)\n\n![Flavour](https://i.ibb.co/hCP2QJ1/Screen-Shot-2019-01-13-at-7-40-16-PM.png)\n\n\n## Useful Command\n\n### Run flutter_starter_kit\n\nFor development,\n\n```\nflutter run --flavor development -t lib/config/main_development.dart\n```\n\nFor staging,\n```\nflutter run --flavor staging -t lib/config/main_staging.dart\n```\n\nFor production,\n```\nflutter run --flavor production -t lib/config/main_production.dart\n```\n\n### Generate json serialize and deserialize functions\n\n```\nflutter packages pub run build_runner build --delete-conflicting-outputs\n```\n\n### lang_table\n```\nflutter packages pub run lang_table:generate --platform=airTable --input=https://api.airtable.com/v0/appZmh0WMg3y6APAg/example --api-key={YOUR API KEY} --target=Flutter\n```\n\n### gen_lang\n```\nflutter packages pub run gen_lang:generate\n```\n\n## Known Issues\n- [Unable to launch app on ios simulator with different flavours](https://github.com/flutter/flutter/issues/21335)\n\n## Migration Guide\n- If you wanna to use this project as your project's base, please read\n  [migration guide](https://github.com/KingWu/flutter_starter_kit/wiki/Migration-Guide)\n\n\n## Reference\n\n- [My Flutter Learning Path](https://medium.com/@kingwu/flutter-learning-path-d6b3b0235799)\n\n#### From other platform?\n- [Flutter for Android developers](https://flutter.io/docs/get-started/flutter-for/android-devs)\n- [Flutter for iOS developers](https://flutter.io/docs/get-started/flutter-for/ios-devs)\n- [Flutter for React Native developers](https://flutter.io/docs/get-started/flutter-for/react-native-devs)\n- [Flutter for web developers](https://flutter.io/docs/get-started/flutter-for/web-devs)\n- [Flutter for Xamarin.Forms developers](https://flutter.io/docs/get-started/flutter-for/xamarin-forms-devs)\n\n#### Learn Widget \u0026 Layout\n- [Building Layouts](https://flutter.io/docs/development/ui/layout)\n- [Widget catalog](https://flutter.io/docs/development/ui/widgets)\n- [Series of flutter widget of the week](https://www.youtube.com/playlist?list=PLOU2XLYxmsIL0pH0zWe_ZOHgGhZ7UasUE)\n- [Series of Flutter Widgets 101](https://www.youtube.com/playlist?list=PLOU2XLYxmsIJyiwUPCou_OVTpRIn_8UMd)\n\n\n#### Bloc Pattern\n- [Architect your Flutter project using BLOC pattern](https://medium.com/flutterpub/architecting-your-flutter-project-bd04e144a8f1)\n\n#### Json Serialization\n- [JSON and serialization](https://flutter.io/docs/development/data-and-backend/json)\n\n#### Localization\n- [A new approach of localization in Flutter](https://medium.com/@kingwu/a-new-approach-of-localization-in-flutter-e18bfb2b14ab)\n- [Flutter: internationalization tutorials: Part 3— Android Studio plugin](https://medium.com/@datvt9312/flutter-internationalization-tutorials-part-3-android-studio-plugin-8604e2dc90f0)\n- [讓 Flutter App 支援多國語系的開發流程](https://medium.com/@zonble/%E8%AE%93-flutter-app-%E6%94%AF%E6%8F%B4%E5%A4%9A%E5%9C%8B%E8%AA%9E%E7%B3%BB%E7%9A%84%E9%96%8B%E7%99%BC%E6%B5%81%E7%A8%8B-ceb31532e2e1)\n\n#### Flavouring\n- [Flavoring Flutter](https://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36)\n- [Creating flavors of a Flutter app (Flutter \u0026 Android setup)](http://cogitas.net/creating-flavors-of-a-flutter-app/)\n\n#### Advance Topic\n- [The Mahogany Staircase - Flutter's Layered Design](https://www.youtube.com/watch?time_continue=1\u0026v=dkyY9WCGMi0)\n- [Flutter's Rendering Pipeline](https://www.youtube.com/watch?v=UUfXWzp0-DU)\n\n### Powered By \n- [Plaker Lab 創玩坊](https://www.plakerlab.com/)\n- [Wenjetso 搵著數](https://www.wenjetso.com/zh_HK/)\n","funding_links":[],"categories":["Dart","模板","Templates [🔝](#readme)","Templates"],"sub_categories":["赚钱","推广和盈利","Monetization"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKingWu%2Fflutter_starter_kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKingWu%2Fflutter_starter_kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKingWu%2Fflutter_starter_kit/lists"}