A Flutter app that displays random cat facts using the Cat Facts API.
- Arga Hutama (argahut@gmail.com)
- Display random cat facts
- Infinite scroll pagination
- Modularized
- Clean Architecture
- dio: A powerful Http client for Dart
- build_runner: A tool for generating files using Dart code
- injectable: A lightweight dependency injection library for Dart and Flutter
- get_it: A simple Service Locator for Dart and Flutter projects
- freezed: A code generator for unions/pattern-matching/copy
- infinite_scroll_pagination: A Flutter package for infinite scroll pagination
- pull_to_refresh: A Flutter package for pull to refresh functionality
- Presentation Layer: The UI components of the app, including widgets for displaying the cat fact and handling user input.
- Domain Layer: The layer that defines the business logic of the app, including the entities and use cases. It is independent of any specific implementation details.
- Data Layer: The layer that handles data access, including retrieving and storing data from external sources. It communicates with the domain layer through interfaces, which ensures
To run the app in dev mode, execute the following command:
make all-dev
To run the app in staging mode, execute the following command:
make all-stg
To run the app in production mode, execute the following command:
make all-prod
By default, the app runs in debug mode. If you want to run the app in release mode, add FLAGS="--release"
in the end of the command.
This project is licensed under the MIT License - see the LICENSE.md file for details.