https://github.com/rfprod/flutter_starter
Flutter starter project.
https://github.com/rfprod/flutter_starter
android-app firebase-auth firebase-sdk flutter flutter-app mobile-app
Last synced: 15 days ago
JSON representation
Flutter starter project.
- Host: GitHub
- URL: https://github.com/rfprod/flutter_starter
- Owner: rfprod
- License: mit
- Created: 2021-11-12T20:23:20.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-03T21:16:29.000Z (over 1 year ago)
- Last Synced: 2025-03-31T17:25:22.419Z (about 2 months ago)
- Topics: android-app, firebase-auth, firebase-sdk, flutter, flutter-app, mobile-app
- Language: Dart
- Homepage: https://rfprod.github.io/flutter_starter/
- Size: 202 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
README
# flutter_starter
Flutter starter project with workflow automation.
[](http://commitizen.github.io/cz-cli/)
## Workflows
| | Trigger | Badge |
| ---------------------------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [:information_source:](# "Full testing, deliverables build and deployment.") | PR merge event (destination: trunk) | [](https://github.com/rfprod/flutter_starter/actions/workflows/trunk.yml) |
| [:information_source:](# "Code ownership validation.") | Scheduled (weekly) | [](https://github.com/rfprod/flutter_starter/actions/workflows/validate-codeowners.yml) |
| [:information_source:](# "Quality gates: pull request validation.") | PR open event (destination: trunk) | [](https://github.com/rfprod/flutter_starter/actions/workflows/validate-pr.yml) |## Requirements
In order to run own copy of the project one must fulfill the following requirements.
### Supported operating systems
- :trophy: [Debian based Linux](https://en.wikipedia.org/wiki/List_of_Linux_distributions#Debian-based) - `recommended`
- check out [this dev setup instructions](https://github.com/rfprod/wdsdu) to facilitate setting up the dev environment;
- :ok: [OSX](https://en.wikipedia.org/wiki/MacOS) - `should work due to the similarities with Linux`
- one will have to figure out oneself how to set up the dev environment;### Core dependencies
- [Git](https://git-scm.com/)
- [Bash 5](https://www.gnu.org/software/bash/)
- [Flutter](https://flutter.dev)### Setting up Flutter on a Debian based Linux
Check out this repository [WDSDU](https://github.com/rfprod/wdsdu). It has automated installation instructions for Debian based Linux distributions.
To install everything clone [WDSDU](https://github.com/rfprod/wdsdu)
```bash
cd ./proj # or whatever your git projects folder is
git clone [email protected]:rfprod/wdsdu.git
```, cd into the project directory, execute `instal.sh` and pay attention to the prompts in the terminal where the `install.sh` was executed
```bash
cd ./wdsdu
bash ./install.sh
```## Working with the project
Use the [Flutter CLI](https://docs.flutter.dev/reference/flutter-cli) to work with the project.
### Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.### Environment variables
Create an `.env` file in the project root with the following values
```plaintext
SENTRY_DSN='...'
FIRE_API_KEY='...'
FIRE_APP_ID='...'
FIRE_MESSAGING_SENDER_ID='...'
FIRE_PROJECT_ID='...'
```### Google services integration
Create the `google-services.json` file in the `./android/app` directory.
### Quick references
1. **show help**
```bash
flutter --help
```2. **list available emulators**
```bash
flutter emulators
```Example output
```bash
$ flutter emulators
1 available emulator:api34device • api34device • • android
To run an emulator, run 'flutter emulators --launch '.
To create a new emulator, run 'flutter emulators --create [--name xyz]'.You can find more information on managing emulators at the links below:
https://developer.android.com/studio/run/managing-avds
https://developer.android.com/studio/command-line/avdmanager
```3. **launch an emulator**
Replace `api34device` with the name of the emulator you configured locally
```bash
flutter emulators --launch api34device
```4. **list connected devices**
```bash
flutter devices list
```Example output
```bash
$ flutter devices list
Found 3 connected devices:
sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64 • Android 14 (API 34) (emulator)
...
```5. **run the application on the emulator**
```bash
flutter run
```## Technologies Reference
### Client
- [Flutter](https://flutter.dev)
- [Flutter CLI](https://docs.flutter.dev/reference/flutter-cli)### Server
- [Firebase](https://firebase.google.com)
### API integrations
- [Blockchain](https://blockchain.info/ticker)
- [CoinGecko](https://www.coingecko.com/en/api) // TBI### CI
- [GitHub Actions](https://github.com/features/actions)
### Development methodology
- [Trunk based development](https://trunkbaseddevelopment.com/)