LaMov Flutter App is a Flutter application that serves as a Movie Database app, designed using Clean Architecture principles. It incorporates features such as a home screen with categories and infinite scrolling, detailed movie information with a YouTube trailer, user reviews with infinite scrolling, JSON parsing using isolates, Lottie animations, and unit tests.
-
Home Page
- Displays movie categories.
- Infinite scrolling for a seamless browsing experience.
-
Movie Details
- Provides detailed information about a selected movie.
- Includes an embedded YouTube trailer for preview.
-
User Reviews
- Allows users to read reviews for movies.
- Supports infinite scrolling for user reviews.
-
Clean Architecture
- Follows clean architecture principles for a modular and scalable codebase.
- Separates layers into presentation, domain, and data.
-
Isolate for JSON Parsing
- Efficiently parses JSON data using isolates for better performance.
-
Lottie Animation
- Enhances user interface with Lottie animations for a visually appealing experience.
-
Unit Tests
- Implements unit tests to ensure the reliability and maintainability of the application.
- Utilizes the clean architecture principles for testability.
The LaMov Flutter App is structured using clean architecture principles:
- Presentation Layer: Contains UI components and presentation logic.
- Domain Layer: Defines use cases and business logic independent of UI.
- Data Layer: Manages data sources, repositories, and external services.
This separation ensures a clear and maintainable codebase, making it easy to adapt to changes and add new features.
- Make sure you have Flutter installed on your machine.
-
Clone the repository:
git clone https://github.com/luthfiarifin/lamov-flutter-app.git
-
Change directory to lamov-flutter-app:
cd lamov-flutter-app
-
Get dependencies:
flutter pub get
-
Open the project in your preferred IDE.
-
Ensure you have a connected device (emulator or physical device).
-
Run the app:
flutter run
flutter test