{"id":13551797,"url":"https://github.com/SimpleBoilerplates/Flutter","last_synced_at":"2025-04-03T02:31:47.951Z","repository":{"id":41344875,"uuid":"187896678","full_name":"SimpleBoilerplates/Flutter","owner":"SimpleBoilerplates","description":"A boilerplate project for Flutter using RiverPod, Dio, go_router, Freezed and generated with very_good_cli","archived":false,"fork":false,"pushed_at":"2023-04-04T08:44:02.000Z","size":2159,"stargazers_count":612,"open_issues_count":5,"forks_count":106,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-28T19:08:18.709Z","etag":null,"topics":["android","bloc","bloc-pattern","dart","dio","flutter","flutter-apps","flutter-examples","freezed","ios","riverpod","rxdart"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimpleBoilerplates.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-05-21T18:57:50.000Z","updated_at":"2025-03-27T16:02:35.000Z","dependencies_parsed_at":"2024-01-14T17:13:21.163Z","dependency_job_id":"31c8af7f-0bd6-4099-b23a-0df82add6bee","html_url":"https://github.com/SimpleBoilerplates/Flutter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimpleBoilerplates%2FFlutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimpleBoilerplates%2FFlutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimpleBoilerplates%2FFlutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimpleBoilerplates%2FFlutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimpleBoilerplates","download_url":"https://codeload.github.com/SimpleBoilerplates/Flutter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246925362,"owners_count":20855876,"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","bloc","bloc-pattern","dart","dio","flutter","flutter-apps","flutter-examples","freezed","ios","riverpod","rxdart"],"created_at":"2024-08-01T12:01:53.846Z","updated_at":"2025-04-03T02:31:45.915Z","avatar_url":"https://github.com/SimpleBoilerplates.png","language":"Dart","readme":"# Flutter Boilerplate\n\n![coverage][coverage_badge]\n[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link]\n\u003ca href=\"https://github.com/tenhobi/effective_dart\"\u003e\u003cimg src=\"https://img.shields.io/badge/style-effective_dart-40c4ff.svg\" alt=\"style: effective dart\"\u003e\u003c/a\u003e\n\u003ca href=\"http://fluttersamples.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/flutter-samples-teal.svg?longCache=true\" alt=\"Flutter Samples\"\u003e\u003c/a\u003e\n[![License: MIT][license_badge]][license_link]\n\nA boilerplate project for Flutter using [RiverPod](https://riverpod.dev/), [Dio](https://pub.dev/packages/dio), [go_router](https://pub.dev/packages/go_router), [Freezed](https://pub.dev/packages/freezed) and generated with [very_good_cli](https://github.com/VeryGoodOpenSource/very_good_cli).\n\n\n---\n\nThis is a very simple Boilerplate application, this has following features.\n\n  - User can Sign In and Up\n  - After signing in he can see a list of items\n\n\u003e It uses a mock json server which doesn't store or validate anything, so for signing in/up any email, password will simply work.\n\n[RiverPod](https://riverpod.dev/) was used for state management, but there's an old implementation with [Flutter bloc](https://bloclibrary.dev/#/) as well, you may check out [bloc](https://github.com/SimpleBoilerplates/Flutter/tree/bloc) branch, though that branch doesn't have many of the latest changes.\n\n  \n## Getting Started 🚀\n\nYou can go through this [Flutter Starter Pack](https://sadmansamee.github.io/flutter_starter_pack).\n\nThis project contains 3 flavors:\n\n- development\n- staging\n- production\n\nTo run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:\n\n```sh\n# Development\n$ flutter run --flavor development --target lib/main_development.dart\n\n# Staging\n$ flutter run --flavor staging --target lib/main_staging.dart\n\n# Production\n$ flutter run --flavor production --target lib/main_production.dart\n```\n\n_\\*Flutter Boilerplate works on iOS, Android, and Web._\n\n---\n\n\n## Use MakeFile / Derry to avoid writing your own scripts.\n\nYou can run all these scripts manually or could use  [MakeFile](https://github.com/SimpleBoilerplates/Flutter/blob/master/makefile) / [Derry](https://pub.dev/packages/derry) and maintain a file, where you can define all those scripts and run in a very convinient way. All the scripts for this project is defined here [derry scripts](https://github.com/SimpleBoilerplates/Flutter/blob/master/derry.yaml) and [makefile scripts](https://github.com/SimpleBoilerplates/Flutter/blob/master/makefile)\n\nExample: \n\nrun `make watch` or `derry watch` instead of\n\n```sh\nflutter pub run build_runner watch --delete-conflicting-outputs\n``` \n\nrun `make build` or `derry build` instead of\n\n```sh\nflutter pub run build_runner build --delete-conflicting-outputs\n``` \n\nor run `make build_apk_dev` or `derry build_apk_dev` instead of \n\n```sh\nflutter build apk --flavor development -t lib/main_development.dart \n``` \n---\n\n## Running Tests 🧪\n\nTo run all unit and widget tests use the following command:\n\n```sh\n$ flutter test --coverage --test-randomize-ordering-seed random\n```\n\nTo view the generated coverage report you can use [lcov](https://github.com/linux-test-project/lcov).\n\n```sh\n# Generate Coverage Report\n$ genhtml coverage/lcov.info -o coverage/\n\n# Open Coverage Report\n$ open coverage/index.html\n```\n\n---\n\n## Working with Translations 🌐\n\n\n### Adding Strings\n\n1. To add a new localizable string, open the `app_en.arb` file at `assets/land/arb/en.json`.\n\n```json\n{\n  \"home\" : \"Home\",\n  \"loading\" : \"Loading\",\n  \"email\" : \"Email\",\n  \"password\" : \"Password\",\n  \"name\" : \"Name\",\n  \"sign_in\" : \"Sign In\",\n  \"sign_up\" : \"Sign Up\"\n\n}\n```\n\n\n2. After adding new \n\n```dart\nimport 'package:easy_localization/easy_localization.dart';\n\n@override\nWidget build(BuildContext context) {\n  return Text(\"helloWorld\".tr());\n}\n```\n\n\n\n### Same implementation in other platforms\n   - [iOS](https://github.com/simpleboilerplates/BooksDemoiOS) \n   - [Android](https://github.com/SimpleBoilerplates/Android) \n   - [React Native](https://github.com/SimpleBoilerplates/React-Native) \n   - [NodeJS backend](https://github.com/simpleboilerplates/BooksDemoNode)\n\n---\n\n### TODO\n- Updating it on daily basis as much as possible, work in progess[WIP].\n\n### Found this project useful :heart:\n* Support by clicking the :star: button on the upper right of this page. :v:\n\n---\n\n### Find me at\n- [LinkedIn](https://www.linkedin.com/in/sadmansamee/)\n- [Github](https://github.com/Sadmansamee)\n- [Blog](https://sadmansamee.github.io/)\n- [Twitter](https://twitter.com/SameeSadman)\n\n## License\n[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n\n\n[coverage_badge]: coverage_badge.svg\n[flutter_localizations_link]: https://api.flutter.dev/flutter/flutter_localizations/flutter_localizations-library.html\n[internationalization_link]: https://flutter.dev/docs/development/accessibility-and-localization/internationalization\n[license_badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[license_link]: https://opensource.org/licenses/MIT\n[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg\n[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis\n[very_good_cli_link]: https://github.com/VeryGoodOpenSource/very_good_cli\n","funding_links":[],"categories":["Dart"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimpleBoilerplates%2FFlutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSimpleBoilerplates%2FFlutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimpleBoilerplates%2FFlutter/lists"}