Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/GeekyAnts/flutter-starter
A Flutter starter-kit for production-level apps.
https://github.com/GeekyAnts/flutter-starter
dart flutter flutter-bloc flutter-starter
Last synced: about 2 months ago
JSON representation
A Flutter starter-kit for production-level apps.
- Host: GitHub
- URL: https://github.com/GeekyAnts/flutter-starter
- Owner: GeekyAnts
- License: mit
- Created: 2020-11-19T11:41:01.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-06-24T11:15:18.000Z (over 1 year ago)
- Last Synced: 2024-08-01T12:23:38.122Z (5 months ago)
- Topics: dart, flutter, flutter-bloc, flutter-starter
- Language: Dart
- Homepage: https://flutter-starter.geekyants.com/
- Size: 40.8 MB
- Stars: 433
- Watchers: 15
- Forks: 95
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Flutter Starter
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)
## Introduction
We wanted to take Flutter a step further and accelerate the process of building production-level apps. Presenting our solution- [Flutter Starter](https://flutter-starter.github.io/)!
Flutter Starter, as the name suggests, is a starter kit for Flutter that helps you bootstrap projects with all the essential modules like **State Management, API calls, Style Guide,** etc. It helps you build production ready apps in a jiffy. Handle everything at one place so you don't have to rewrite code.
## Motivation
Flutter gives us a simple counter app on installation which works if you are just starting out. However, while building a production-level app, we need state-management, API calls, Styleguide and common widgets. We frequently repeat this code in every project.
Flutter Starter is based on the **DRY principle. Don't Repeat Yourself** is a programming principle that is aimed at reducing repetition and redundancy.
>:bulb: The **DRY principle** states that "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system".
Why is this useful? Applying the DRY principle helps code maintainability, improves development efficiency and much more!
## Features
* **Folder Structure:** Flutter Starter comes with a well-defined folder structure. Devs can easily navigate it and add files where necessary.
* **Style Guide:** This kit helps you to build a Style Guide for your app. You can add your image and font assets, splash screen, color constants and theme data. These are available for use wherever required in your project.
* **API Calls:** The starter kit includes all the files you need for API handling. You can choose from [REST](https://restfulapi.net/), [GraphQL](https://graphql.org/) and [Firebase](https://firebase.google.com/) depending on your project.
* **State Management:** Flutter Starter contains all the state management files, models and repositories for your app. We will use [Bloc](https://pub.dev/packages/bloc) for state management.
* **Routers & Dependencies:** This kit allows you to quickly add routers for your app screens. Dependencies can also be added to your app by simply copy-pasting the install version from [pub.dev](https://pub.dev/) into the designated file.
* **Testing & Deployment:** Lastly, you can test and deploy your app smoothly using Flutter Starter! Go to the test folder, add your test files and start writing test cases. Check out the [Android](https://flutter.dev/docs/deployment/android) or [iOS](https://flutter.dev/docs/deployment/ios) pages to deploy your app.
## Installing & Usage
Go to [Flutter](https://flutter.dev/docs/get-started/install) and install Flutter on your system. Proceed to our [Github repository](https://github.com/GeekyAnts/flutter-starter) and create a template.
To run the project, run:
```
bash run_script.sh
```>:bulb: You can build apps with Flutter using any text editor combined with our command-line tools. We use VS Code since it is lightweight.
## Examples
Here are some of the example apps made using Flutter Starter:
- [HackerNews App](https://flutter-starter.github.io/docs/hacker-news-example)
- [GithubRepo List App](https://flutter-starter.github.io/docs/github-repo-list-example)
- [Weather App](https://flutter-starter.github.io/docs/weather-app-example)
## Tech Stack
Flutter, Firebase, GraphQL, REST and Bloc.
## Naming Conventions
* **Variables:** camelCase
* **Classes:** PascalCase
* **Files:** snake_case## Build Status
[Check out our roadmap here.](https://trello.com/b/wxSMZP1H/flutter-starter)## Contributors
## How to Contribute
Thank you for your interest in contributing to Flutter Starter! We are lucky to have you 🙂 Head over to [Contribution Guidelines](https://github.com/GeekyAnts/flutter-starter/blob/master/CONTRIBUTING.md) and learn how you can be a part of a wonderful, growing community.
## License
Licensed under the MIT License, Copyright © 2020 GeekyAnts.
See [LICENSE](https://github.com/GeekyAnts/flutter-starter/blob/master/LICENSE) for more information.