Skip to content

Latest commit

 

History

History
97 lines (74 loc) · 2.37 KB

File metadata and controls

97 lines (74 loc) · 2.37 KB

An Offline-first approach Todo App using Bloc, Realm and Firebase.

HitCount

Content

Preview

preview.mp4

Running the App

Setting up Firebase

Use this to get started with setting up Firebase

Environment Config

This project contains 3 flavors:

  • development
  • staging
  • production

To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:

# Development
$ flutter run --flavor development --target lib/main_development.dart

# Staging
$ flutter run --flavor staging --target lib/main_staging.dart

# Production
$ flutter run --flavor production --target lib/main_production.dart

App Architecture and Folder Structure

Folder Structure

lib 
 ├── src
    ├── app
    │   └── view
    ├── core
    │   ├── constants
    │   ├── enums
    │   ├── extensions
    │   ├── shared
    │   │   └── ui_kit
    │   ├── utils
    ├── data
    │   ├── api
    │   ├── local_storage
    │   ├── models
    │   ├── repositories
    │   ├── utils
    ├── l10n
    ├── modules
    │   ├── connection_checker
    │   ├── view_todo
    │   ├── home
    │   ├── landing_loading
    │   ├── settings
    │   ├── sign_in
    │   ├── todo_sync
    ├── firebase.options.dart
    ├── main_development.dart
    ├── main_production.dart
    ├── main_staging.dart
    └── bootstrap.dart

Running Tests 🧪

To run all unit and widget tests use the following command:

$ flutter test --coverage --test-randomize-ordering-seed random

To view the generated coverage report you can use lcov.

# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/

# Open Coverage Report
$ open coverage/index.html