Generated by the Very Good CLI 🤖
A Very Good Project created by Very Good CLI.
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
*Note: Only development mode has been worked on.
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
*Note: will update this with the proper commands.
This project follows 3-tier architecture and a feature-first folder structure.
Presentation Layer
- This layer is responsible for rendering the UI. Any user interaction that involves business logic is delegated to the application layer.
Application Layer
- This layer consists of the bloc and service.
- The bloc acts as the intermediary between the UI and the service. It is responsible for input/output of state only.
- The service is where the core business logic lives.
Data Layer
- This layer is where any external api or packages that needs to be used is configured.
- It is represented in the packages folder in this project to allow reusability across projects.