An app that lists popular or trending movies and allows searching by terms.
This project uses the following technologies and packages:
- Flutter SDK: The framework used to build the app.
- auto_route (^8.2.0): For declarative routing and navigation management.
- bloc (^8.1.4): A predictable state management library.
- bloc_concurrency (^0.2.5): For managing concurrent events in BLoC.
- bloc_test (^9.1.7): Utilities to help test BLoC.
- cached_network_image (^3.3.1): For displaying images from the network with caching functionality.
- cupertino_icons (^1.0.6): Icons matching Apple's design language.
- dartz (^0.10.1): Functional programming library for Dart.
- equatable (^2.0.5): Simplifies equality comparisons in Dart.
- freezed_annotation (^2.4.0): Code generation for unions/pattern-matching/copy.
- freezed (^2.5.2): Simplifies data classes in Dart.
- flutter_bloc (^8.1.6): Widgets that integrate with BLoC for state management.
- flutter_dotenv (^5.1.0): For loading environment variables from a .env file.
- flutter_svg (^2.0.10+1): For rendering SVG files.
- get_it (^7.7.0): A simple service locator for dependency injection.
- hero_animation (^1.1.4): For implementing hero animations.
- http (^1.2.1): A composable API for making HTTP requests.
- intl (^0.19.0): For internationalization and localization.
- mocktail (^1.0.4): A Dart mocking library for testing.
- auto_route_generator (^8.0.0): Code generation for
auto_route. - build_runner (^2.4.11): Runs code generators.
- flutter_test (SDK: flutter): Provides testing utilities for Flutter apps.
- flutter_lints (^4.0.0): Lint rules for Dart and Flutter.
- json_serializable (^6.8.0): Generates JSON serialization code.
- Listing of popular or trending movies
- Movie details page
Follow the steps below to set up and run the project locally.
- Flutter SDK installed on your machine.
- Dart SDK installed.
- Recommended code editor: Visual Studio Code with Flutter and Dart extensions.
-
Clone the repository:
git clone https://github.com/your-username/your-project-name.git cd your-project-name -
Install dependencies:
flutter pub get
-
Generate necessary code (if applicable)
make build_runner
-
Configure environment variables
- Copy the .env.example file to a new .env file
-
App Test Coverage
make app_coverage
-
Rune
flutter run
