armaanjamadar/mvvm-riverpod-movies-app
A Flutter project demonstrating the MVVM architecture and Riverpod state management in a real-world application, to help developers understand how to build scalable and maintainable Flutter applications.
- Stars
- 0
- Forks
- 0
- Last push (UTC)
- Jun 18, 2026
- Project status
- Active
Dependencies used
Dependency list 10 items
- flutter
{"sdk":"flutter"} - cupertino_icons
^1.0.8 - cached_network_image
^3.4.1 - get_it
^9.2.1 - flutter_dotenv
^6.0.0 - shared_preferences
^2.5.5 - http
^1.6.0 - flutter_riverpod
^3.3.1 - flutter_testDevelopment
{"sdk":"flutter"} - flutter_lintsDevelopment
^6.0.0
App categories
Original README
English project snapshot. Visit GitHub for the latest content.
Expand / collapse project README
🎬 MVVM-Riverpod Movies App
App Icon
A Flutter project demonstrating the MVVM architecture and Riverpod state management in a real-world application, to help developers understand how to build scalable and maintainable Flutter applications.
About
This is a Movies App built with clean architectural principles and serves as a practical reference for Flutter developers. It teaches you how to separate concerns across UI, business logic, and data layers using the MVVM architecture and manage state and data efficiently using Riverpod state management.
Features
| Feature | Description |
|---|---|
| 🏗️ MVVM Architecture | Clean separation of Model, View, and ViewModel layers |
| 💧 Riverpod State Management | Efficient and scalable state management throughout the app |
| 🎬 Movie Data | Display and manage movie listings |
| 🧩 Clean Architecture | Separation between UI, business logic, and data layers |
| 📁 Organized Structure | Well-structured project for easy navigation and scalability |
What You Will Learn
By exploring this source code, you will understand:
- ✅ How to structure a Flutter app using MVVM architecture.
- ✅ How to use Riverpod state management.
- ✅ How ViewModels manage application state and business logic.
- ✅ How to keep UI code clean and maintainable.
- ✅ How to implement the Repository for clean data access.
- ✅ How to create different types of Models.
- ✅ How to implement different conversion techniques.
- ✅ How to handle loading and error states properly.
- ✅ Best practices for scalable and enterprise-grade Flutter applications.
Getting Started
Prerequisites
- Flutter SDK installed
- An IDE such as VS Code or Android Studio
Installation
-
Clone the repository
git clone <repository-url> -
Navigate to the project directory
cd <project-folder> -
Install dependencies
flutter pub get -
Run the application
flutter run
Support
If you find this project helpful, please consider giving it a star ⭐