Getting started
As this template is for developers, I assume you already have Flutter installed. If not, you can find the installation instructions here.
Introduction
Hey there, Thanks for using my template. I hope it will help you to build your app faster. But no more talking, let's get started.
First, you need to clone the repo.
git clone git@github.com:josefwilhelm/fast_flutter_template.git [YOUR_APP_NAME]
cd [YOUR_APP_NAME]
Flutter version
This template is built and tested with Flutter 3.16.0.
I recommend using fvm to manage your Flutter versions. You can find more information here.
Quick start
- Fetch the dependencies with
flutter pub get
. - Then we need to set up Firebase. Follow the instructions here.
ATTENTION: You have to enable Firebase Functions and Firebase Firestore in order to use the authentication properly. Make sure you set up Firebase Functions before you continue. You can find the instructions here.
Now we can run the app.
flutter run
Congrats, your app will now run on your device or emulator.
Some more infos
Some code is generated using build runner.
Here is the documentation for build runner
If you add new models or providers you need to run the following command:
flutter pub run build_runner build --delete-conflicting-outputs
Project structure:
I use a feature first
folder structure.
For example the dashboard feature is located in lib/features/dashboard
.
Within this folder you will find the following folders:
views
- contains the UIproviders
- contains the providersmodels
- contains the models
lib/common
contains code that is shared across the app. For example the widget
folder contains the nav bar and a primary button.
lib
├── common
│ ├── extensions
│ ├── widgets
│ ├── providers
│ └── widgets
├── features
│ ├── authentication
│ ├── dashboard
│ ├── models
│ ├── providers
│ └── views
│ ├── onboarding
│ ├── settings
├── i10n
├── generated
├── main.dart
You will find a NOTE
comments in the source code. These are sections where you have to fill in API keys or similiar.
What's included
- Riverpod
- Dark Mode
- Rate my app
- Settings UI
- Firebase setup
- Material Theme
- Authentication
- Code generation
- Bottom Navigation
- Logger & Provider Logger
- Navigation with auto_route