{"id":13685550,"url":"https://github.com/anfeichtinger/flutter_production_boilerplate","last_synced_at":"2025-05-01T04:31:37.979Z","repository":{"id":38679361,"uuid":"378196857","full_name":"anfeichtinger/flutter_production_boilerplate","owner":"anfeichtinger","description":"A flutter boilerplate project containing bloc, lints, hive, easy_translations and more!","archived":false,"fork":false,"pushed_at":"2024-08-27T12:41:10.000Z","size":3026,"stargazers_count":174,"open_issues_count":0,"forks_count":47,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-12T07:38:11.261Z","etag":null,"topics":["bloc","boilerplate","flutter","flutter-apps","flutter-demo","flutter-examples","hive","lints","localization"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anfeichtinger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-18T15:43:29.000Z","updated_at":"2024-10-23T05:31:48.000Z","dependencies_parsed_at":"2024-08-27T13:59:01.364Z","dependency_job_id":null,"html_url":"https://github.com/anfeichtinger/flutter_production_boilerplate","commit_stats":null,"previous_names":[],"tags_count":9,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anfeichtinger%2Fflutter_production_boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anfeichtinger%2Fflutter_production_boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anfeichtinger%2Fflutter_production_boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anfeichtinger%2Fflutter_production_boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anfeichtinger","download_url":"https://codeload.github.com/anfeichtinger/flutter_production_boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251824411,"owners_count":21649862,"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":["bloc","boilerplate","flutter","flutter-apps","flutter-demo","flutter-examples","hive","lints","localization"],"created_at":"2024-08-02T14:00:53.473Z","updated_at":"2025-05-01T04:31:37.973Z","avatar_url":"https://github.com/anfeichtinger.png","language":"Dart","funding_links":[],"categories":["Dart"],"sub_categories":[],"readme":"# Flutter Production Boilerplate\n\n*Note: If you prefer to use Riverpod instead of BLOC you can use [flutter_production_boilerplate_riverpod](https://github.com/anfeichtinger/flutter_production_boilerplate_riverpod)*\n\n## A flutter project containing bloc, flutter_lints, hive, easy_translations and more!\n\nThis repository is the starting point for my personal projects. If you have any suggestions or\nimprovements feel free to let me know. The project strives to implement best practices recommended\nby Google and other developers. These best practices include but are not limited to:\n\n- Using BLOC \u0026 Cubit for state management.\n- Using Flutter Lints for stricter linting rules.\n- Using Hive for platform independent storage that also works for web.\n- Project structure, const constructors, extracted widgets and many more...\n\n## Installation\n\nThis repository requires [Flutter](https://flutter.dev/docs/get-started/install) to be installed and\npresent in your development environment.\n\nClone the project and enter the project folder.\n\n```sh\ngit clone git@github.com:anfeichtinger/flutter_production_boilerplate.git\ncd flutter_production_boilerplate\n```\n\nYou can remove the screenshots located in [assets/img/](./assets/img).\n\nGet the dependencies.\n\n```sh\nflutter pub get\n```\n\nRun the app via command line or through your development environment. (optional)\n\n```sh\nflutter run lib/main.dart\n```\n\n## Pub packages\n\nThis repository makes use of the following pub packages:\n\n| Package                                                                     | Version  | Usage                                               |\n|-----------------------------------------------------------------------------|----------|-----------------------------------------------------|\n| [Bloc](https://pub.dev/packages/bloc)                                       | ^8.1.4   | State management*                                    |\n| [Flutter Bloc](https://pub.dev/packages/flutter_bloc)                       | ^8.1.6   | State management*                                    |\n| [Hydrated Bloc](https://pub.dev/packages/hydrated_bloc)                     | ^9.1.5   | Persists Bloc state with Hive                        |\n| [Equatable](https://pub.dev/packages/equatable)                             | ^2.0.5   | Easily compare custom classes, used for Bloc states* |\n| [Flutter Lints](https://pub.dev/packages/flutter_lints)                     | ^4.0.0   | Stricter linting rules*                             |\n| [Flutter Displaymode](https://pub.dev/packages/flutter_displaymode)         | ^0.6.0   | Support high refresh rate displays*                 |\n| [Path Provider](https://pub.dev/packages/path_provider)                     | ^2.1.4   | Get the save path for Hive                          |\n| [Easy Localization](https://pub.dev/packages/easy_localization)             | ^3.0.7   | Makes localization easy                             |\n| [Hive](https://pub.dev/packages/hive)                                       | ^2.2.3   | Platform independent storage.                       |\n| [Hive Flutter](https://pub.dev/packages/hive_flutter)                       | ^1.1.0   | Flutter plugin for hive.                            |\n| [Url Launcher](https://pub.dev/packages/url_launcher)                       | ^6.3.0   | Open urls in Browser                                |\n| [FluentUI Icons](https://pub.dev/packages/fluentui_system_icons)            | ^1.1.255 | Microsoft's open source icon library                |\n| [Staggered Grid view](https://pub.dev/packages/flutter_staggered_grid_view) | ^0.7.0   | Better grid views                                   |\n\n\u003e \\* Recommended to keep regardless of your project\n\n## Using this package as a starting point\n\nAfter following the installation steps you can customize your project. The screens and widgets that\nare inside the project can be easily replaced or removed. They are supposed to give the user a basic\nunderstanding of the relations between widgets and some good practices. The code includes some\ncomments with documentation and examples. The examples can be found by searching for \"Example:\"\ninside the project files.\n\n### Changing the package and app name\n\nYou can follow the instructions in this [Stackoverflow issue](https://stackoverflow.com/a/51550358) or this [Flutter package](https://pub.dev/packages/change_app_package_name) .\n\n### Theme\n\nYou can customize your brand colors in the [lib/config/style.dart](./lib/config/style.dart) file.\nThe project uses colors from [TailwindCSS](https://tailwindcss.com/docs/customizing-colors). The default theme contains comments that indicate which tailwind color is used. Feel free to replace the colors with your own or use [dynamic material 3 themes](https://github.com/material-foundation/flutter-packages/tree/main/packages/dynamic_color).\n\n### Removing unwanted packages\n\nIf a package is not listed, then removing it from [pubspec.yaml](./pubspec.yaml) as well as all\nimports and uses should be enough. This is required for removing every packages, the following\ninstructions are an addition to that.\n\n#### Flutter Lints\n\nDelete the [analysis_options.yaml](./analysis_options.yaml) file. As an alternative you can modify\nthe rules in this file or use a different package like [Lint](https://pub.dev/packages/lint).\n\n#### Easy Localization\n\nRemove the [assets/translations](./assets/translations) folder. Go\nto [ios/Runner/Info.plist](./ios/Runner/Info.plist) and remove the following code:\n\n```\n\u003ckey\u003eCFBundleLocalizations\u003c/key\u003e\n\u003carray\u003e\n\t\u003cstring\u003een\u003c/string\u003e\n   \t\u003cstring\u003ede\u003c/string\u003e\n\u003c/array\u003e\n```\n\n#### Url Launcher\n\nFor iOS go to [ios/Runner/Info.plist](./ios/Runner/Info.plist) and remove the following code:\n\n```\n\u003ckey\u003eLSApplicationQueriesSchemes\u003c/key\u003e\n\u003carray\u003e\n  \u003cstring\u003ehttps\u003c/string\u003e\n  \u003cstring\u003ehttp\u003c/string\u003e\n\u003c/array\u003e\n```\n\nFor Android you can take a look at this [Stackoverflow issue](https://stackoverflow.com/a/65082750)\nfor more information. Go\nto [android/app/src/AndroidManifest.xml](./android/app/src/main/AndroidManifest.xml) and remove the\nfollowing code:\n\n```\n\u003cqueries\u003e\n     \u003cintent\u003e\n        \u003caction android:name=\"android.intent.action.VIEW\" /\u003e\n        \u003cdata android:scheme=\"https\" /\u003e\n    \u003c/intent\u003e\n\u003c/queries\u003e\n```\n\n## Screenshots\n\n#### Light Theme\n\n| Home Light                                                                     | Info Light                                                                     |\n|--------------------------------------------------------------------------------|--------------------------------------------------------------------------------|\n| ![Home Light](./assets/img/home_light.png \"The home page with a light theme.\") | ![Info Light](./assets/img/info_light.png \"The info page with a light theme.\") |\n\n#### Dark Theme\n\n| Home Dark German                                                            | Info Dark German                                                            |\n|-----------------------------------------------------------------------------|-----------------------------------------------------------------------------|\n| ![Home Dark](./assets/img/home_dark.png \"The home page with a dark theme.\") | ![Info Dark](./assets/img/info_dark.png \"The info page with a dark theme.\") |\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanfeichtinger%2Fflutter_production_boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanfeichtinger%2Fflutter_production_boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanfeichtinger%2Fflutter_production_boilerplate/lists"}