Skip to content

ra-develop/flutter_app_template

Repository files navigation

Flutter application template

The template of a Flutter project.

Short descriptoin

This project is the initial template for the Flutter application with authentication example, geolocation and upload of open weather information using the REST API It is based on clean architecture and uses modular extensible structure to implemting any features. For example implemented Login Page by using DummyJson.com API and Demo Page with geo localisation, openweather API and examples of the custom warning page This is project has example test covers for the data model, network and local data storage services (TDD).

Integrated plugins:

  1. Riverpod: A reactive caching and data-binding framework
  2. Firebase envirounment:
  1. HTTP networking package: dio
  2. Annotate Dart objects in order to Serialize/Deserialize them to/from JSON: dart_json_mapper
  3. Geolocation plugin: geolocator
  4. NOSQL Database: ObjectBox
  5. A declarative app router: go_router
  6. And much other:
  • equatable;
  • freezed, freezed_annotation;
  • dartz;
  • package_info_plus;
  • shared_preferences;
  • path_provider, path;

More detailed information for these plugins could be found on the pub.dev

Get started Flutter project

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Flavor envirounment

This project support managing and setting a flavor envirounment. Command line Flutter Flavor for run and/or build

Run:

flutter run -t lib/main_production.dart
flutter run -t lib/main_stage.dart
flutter run -t lib/main.dart

Build APK:

flutter build apk -t lib/main_production.dart
flutter build apk -t lib/main_stage.dart
flutter build apk -t lib/main.dart

Run Flavor configuration from Android Studio:

Warnings

In this project used the dart_json_mapper plugin for serialization the data entities from/to Java.

Also this project included ObjectBox as local data storage service

Before first build/run and after any changes a data models, run this command in terminal on the project folder:

dart run build_runner build --delete-conflicting-outputs

Or to re-run code generation each time you are making changes

 dart run build_runner watch --delete-conflicting-outputs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages