A Flutter app to browse the latest movies using the IMDb API. The app is built with advanced state management using Riverpod and follows the MVVM architecture. Users can view movie details, add movies to their favorites (stored locally using Shared Preferences), and enjoy smooth pagination for movie lists.
- Latest Movies: Displays a list of the latest movies fetched from the IMDb API.
- Movie Details: Detailed information about each movie, including title, synopsis, rating, and more.
- Favorites: Users can add/remove movies to/from their favorites, stored locally using Shared Preferences.
- Pagination: Smooth pagination for infinite scrolling of movies.
- Light/Dark Mode: Smooth light and dark mode functionality.
- Secure API Handling: The IMDb API key is securely managed using the
flutter_dotenv
package. - Cached Images: Efficient image loading and caching using the
cached_network_image
package. - Dependency Injection: Clean dependency management using the
get_it
package. - Clean Architecture: Implements MVVM architecture for a scalable and maintainable codebase.
- Framework: Flutter
- State Management: Flutter Riverpod (Advanced State Management)
- Dependency Injection: Get It
- Local Storage: Shared Preferences
- API Handling: HTTP
- Environment Variables: flutter_dotenv
- Image Caching: Cached Network Image
- Install Flutter on your machine.
- Get an API key from IMDb API.
- Ensure you have an emulator or a physical device for testing.
- Added the packages you specified in a separate Packages Used section for clarity.
- Updated the Features and Tech Stack sections to include functionality enabled by these packages.
- Ensure your
.env
file is properly ignored using.gitignore
.