99
1010Flutter Movie is built with Riverpod, Clean Architecture, and GoRouter that showcases movies fetched from TMDB API. It includes now playing, popular, top-rated, and upcoming movies with support for pagination, search, and detailed view.
1111<p align =" center " >
12- <img width =" 35% " src =" https://github.com/piashcse/flutter-movie-clean-architecture/blob/main/screen_shots/Simulator%20Screenshot-iphone-16-pro-2025-08-01-15.08.32.png " />
13-   ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;
14- <img width =" 35% " src =" https://github.com/piashcse/flutter-movie-clean-architecture/blob/main/screen_shots/Simulator%20Screenshot-iphone-16-pro-2025-08-01-15.08.38.png " />
12+ <img width =" 35% " src =" https://github.com/piashcse/flutter-movie-clean-architecture/blob/main/screen_shots/home.png " />  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;
13+ <img width =" 35% " src =" https://github.com/piashcse/flutter-movie-clean-architecture/blob/main/screen_shots/detail.png " />
14+ </p >
15+ <br >
16+ <p align =" center " >
17+ <img width =" 35% " src =" https://github.com/piashcse/flutter-movie-clean-architecture/blob/main/screen_shots/search.png " />  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;
18+ <img width =" 35% " src =" https://github.com/piashcse/flutter-movie-clean-architecture/blob/main/screen_shots/artist.png " />
1519</p >
1620
1721
1822# ✨ Features
19- - 🎞 Now Playing, Popular, Top Rated & Upcoming movie sections
20- - 🔍 Movie Detail Page
21- - 📃 Pagination (infinite scroll)
22- - 🔄 Bottom Navigation
23- - 🧭 Declarative Routing with GoRouter
24- - 🧱 Clean Architecture (Presentation / Domain / Data)
25- - 🧪 Riverpod State Management
26- - 🌐 Network layer using Dio with Logging
27- - 🚀 Smooth UX with loading indicators
23+ - 🎞 Now Playing, Popular, Top Rated & Upcoming movie sections
24+ - 🔍 Movie Detail Page
25+ - 🎯 Recommended Movies
26+ - 🔍 Search Movies
27+ - 👥 Artist List
28+ - 🧾 Artist Detail Page
29+ - 📃 Pagination (infinite scroll)
30+ - 🔄 Bottom Navigation
31+ - 🧭 Declarative Routing with GoRouter
32+ - 🧱 Clean Architecture (Presentation / Domain / Data)
33+ - 🧪 Riverpod State Management
34+ - 🌐 Network layer using Dio with Logging
35+ - 🚀 Smooth UX with loading indicators
2836
2937## Architecture
3038
@@ -47,6 +55,7 @@ flutter_movie_clean_architecture/
4755│ │ ├── network/
4856│ │ │ └── dio_provider.dart
4957│ │ └── utils/
58+ │ │ └── utils.dart
5059│ ├── features/
5160│ │ └── movie/
5261│ │ ├── data/
@@ -55,31 +64,40 @@ flutter_movie_clean_architecture/
5564│ │ │ ├── models/
5665│ │ │ │ ├── movie_detail_model.dart
5766│ │ │ │ ├── movie_model.dart
67+ │ │ │ │ └── credit_model.dart
5868│ │ │ └── repositories/
5969│ │ │ └── movie_repository_impl.dart
6070│ │ ├── domain/
6171│ │ │ ├── entities/
6272│ │ │ │ ├── movie.dart
63- │ │ │ │ └── movie_detail.dart
73+ │ │ │ │ ├── movie_detail.dart
74+ │ │ │ │ ├── credit.dart
75+ │ │ │ │ └── artist_detail.dart
6476│ │ │ ├── repositories/
6577│ │ │ │ └── movie_repository.dart
6678│ │ │ └── usecases/
79+ │ │ │ ├── get_all_artist_movies.dart
6780│ │ │ ├── get_movie_detail.dart
81+ │ │ │ ├── get_movie_credits.dart
6882│ │ │ ├── get_movie_search.dart
6983│ │ │ ├── get_now_playing.dart
7084│ │ │ ├── get_popular.dart
7185│ │ │ ├── get_top_rated.dart
72- │ │ │ └── get_up_coming.dart
86+ │ │ │ ├── get_up_coming.dart
87+ │ │ │ ├── get_recommended_movie.dart
88+ │ │ │ └── get_artist_detail.dart
7389│ │ └── presentation/
7490│ │ ├── pages/
91+ │ │ │ ├── artist_detail_page.dart
92+ │ │ │ ├── artist_list_page.dart
7593│ │ │ ├── movie_detail_page.dart
7694│ │ │ ├── movie_main_page.dart
7795│ │ │ ├── now_playing_page.dart
7896│ │ │ ├── popular_page.dart
7997│ │ │ ├── top_rated_page.dart
8098│ │ │ └── up_coming_page.dart
8199│ │ ├── providers/
82- │ │ │ └ ── movie_provider.dart
100+ │ │ │ ├ ── movie_provider.dart
83101│ │ └── widgets/
84102│ │ ├── movie_card.dart
85103│ │ └── movie_search.dart
@@ -108,6 +126,11 @@ git clone
[email protected] :piashcse/flutter-movie-clean-architecture.git
108126``` bash
109127flutter pub get
110128```
129+ ## Generate code (build runner)
130+
131+ ``` bash
132+ flutter pub run build_runner build --delete-conflicting-outputs
133+ ```
111134
112135## Run the app
113136
0 commit comments