Skip to content

Commit 068cec4

Browse files
committed
- Updated README with favorite feature and Hive integration details
1 parent d1d4d8c commit 068cec4

File tree

1 file changed

+64
-39
lines changed

1 file changed

+64
-39
lines changed

README.md

Lines changed: 64 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,21 @@ Flutter Movie App built with Riverpod, Clean Architecture, and GoRouter that sho
2727
- 🎯 Recommended Movies
2828
- 🔍 Search Movies
2929
- 👤 Artist/Actor Detail Page with navigation from movie cast
30+
- ❤️ Favorite Movies (saved locally using Hive database)
3031

3132
### TV Series
3233
- 📺 Airing Today, On The Air, Popular & Upcoming TV series sections
3334
- 🔍 TV Series Detail Pages with Cast & Crew
3435
- 🎯 Recommended TV Series
3536
- 🔍 Search TV Series
3637
- 👤 Artist/Actor Detail Page with navigation from TV series cast
38+
- ❤️ Favorite TV Series (saved locally using Hive database)
3739

3840
### Celebrity
3941
- 🌟 Popular and Trending Celebrities/Persons sections
4042
- 🔍 Celebrity Search functionality
4143
- 👤 Celebrity Detail Page with navigation from movie/tv cast
44+
- ❤️ Favorite Celebrities (saved locally using Hive database)
4245

4346
### Common Features
4447
- 📃 Pagination (infinite scroll)
@@ -48,6 +51,7 @@ Flutter Movie App built with Riverpod, Clean Architecture, and GoRouter that sho
4851
- 🧪 Riverpod State Management
4952
- 🌐 Network layer using Dio with Logging
5053
- 🚀 Smooth UX with loading indicators
54+
- ❤️ Favorite Management with Local Storage (Hive)
5155

5256
## Architecture
5357

@@ -61,6 +65,7 @@ Flutter Movie App built with Riverpod, Clean Architecture, and GoRouter that sho
6165

6266
## Project Directory
6367

68+
```
6469
```
6570
flutter_movie_clean_architecture/
6671
├── lib/
@@ -69,8 +74,12 @@ flutter_movie_clean_architecture/
6974
│ │ │ └── app_constant.dart
7075
│ │ ├── network/
7176
│ │ │ └── dio_provider.dart
72-
│ │ └── utils/
73-
│ │ └── utils.dart
77+
│ │ ├── utils/
78+
│ │ │ └── utils.dart
79+
│ │ └── hive/
80+
│ │ ├── favorite_model.dart
81+
│ │ ├── favorite_model.g.dart
82+
│ │ └── hive_helper.dart
7483
│ ├── features/
7584
│ │ ├── celebrity/
7685
│ │ │ ├── data/
@@ -144,43 +153,45 @@ flutter_movie_clean_architecture/
144153
│ │ │ └── widgets/
145154
│ │ │ ├── movie_card.dart
146155
│ │ │ └── movie_search.dart
147-
│ │ └── tv_series/
148-
│ │ ├── data/
149-
│ │ │ ├── datasources/
150-
│ │ │ │ └── tv_series_remote_data_source.dart
151-
│ │ │ ├── models/
152-
│ │ │ │ ├── tv_series_detail_model.dart
153-
│ │ │ │ ├── tv_series_model.dart
154-
│ │ │ │ └── tv_series_credit_model.dart
155-
│ │ │ └── repositories/
156-
│ │ │ └── tv_series_repository_impl.dart
157-
│ │ ├── domain/
158-
│ │ │ ├── entities/
159-
│ │ │ │ ├── tv_series.dart
160-
│ │ │ │ └── tv_series_detail.dart
161-
│ │ │ ├── repositories/
162-
│ │ │ │ └── tv_series_repository.dart
163-
│ │ │ └── usecases/
164-
│ │ │ ├── get_airing_today.dart
165-
│ │ │ ├── get_on_the_air.dart
166-
│ │ │ ├── get_popular_tv_series.dart
167-
│ │ │ ├── get_upcoming_tv_series.dart
168-
│ │ │ ├── get_tv_series_detail.dart
169-
│ │ │ ├── get_tv_series_credits.dart
170-
│ │ │ ├── get_recommended_tv_series.dart
171-
│ │ │ └── get_tv_series_search.dart
172-
│ │ └── presentation/
173-
│ │ ├── pages/
174-
│ │ │ ├── airing_today_page.dart
175-
│ │ │ ├── on_the_air_page.dart
176-
│ │ │ ├── popular_tv_series_page.dart
177-
│ │ │ ├── tv_series_detail_page.dart
178-
│ │ │ ├── tv_series_main_page.dart
179-
│ │ │ └── upcoming_tv_series_page.dart
180-
│ │ ├── providers/
181-
│ │ │ ├── tv_series_provider.dart
182-
│ │ └── widgets/
183-
│ │ └── tv_series_card.dart
156+
│ │ ├── tv_series/
157+
│ │ │ ├── data/
158+
│ │ │ │ ├── datasources/
159+
│ │ │ │ │ └── tv_series_remote_data_source.dart
160+
│ │ │ │ ├── models/
161+
│ │ │ │ │ ├── tv_series_detail_model.dart
162+
│ │ │ │ │ ├── tv_series_model.dart
163+
│ │ │ │ │ └── tv_series_credit_model.dart
164+
│ │ │ │ └── repositories/
165+
│ │ │ │ └── tv_series_repository_impl.dart
166+
│ │ │ ├── domain/
167+
│ │ │ │ ├── entities/
168+
│ │ │ │ │ ├── tv_series.dart
169+
│ │ │ │ │ └── tv_series_detail.dart
170+
│ │ │ │ ├── repositories/
171+
│ │ │ │ │ └── tv_series_repository.dart
172+
│ │ │ │ └── usecases/
173+
│ │ │ │ ├── get_airing_today.dart
174+
│ │ │ │ ├── get_on_the_air.dart
175+
│ │ │ │ ├── get_popular_tv_series.dart
176+
│ │ │ │ ├── get_upcoming_tv_series.dart
177+
│ │ │ │ ├── get_tv_series_detail.dart
178+
│ │ │ │ ├── get_tv_series_credits.dart
179+
│ │ │ │ ├── get_recommended_tv_series.dart
180+
│ │ │ │ └── get_tv_series_search.dart
181+
│ │ │ └── presentation/
182+
│ │ │ ├── pages/
183+
│ │ │ │ ├── airing_today_page.dart
184+
│ │ │ │ ├── on_the_air_page.dart
185+
│ │ │ │ ├── popular_tv_series_page.dart
186+
│ │ │ │ ├── tv_series_detail_page.dart
187+
│ │ │ │ ├── tv_series_main_page.dart
188+
│ │ │ │ └── upcoming_tv_series_page.dart
189+
│ │ │ ├── providers/
190+
│ │ │ │ ├── tv_series_provider.dart
191+
│ │ │ └── widgets/
192+
│ │ │ └── tv_series_card.dart
193+
│ │ └── favorites/
194+
│ │ └── favorites_page.dart
184195
│ ├── routing/
185196
│ │ └── app_router.dart
186197
│ └── main.dart
@@ -194,6 +205,7 @@ flutter_movie_clean_architecture/
194205
├── analysis_options.yaml
195206
└── flutter_movie_clean_architecture.iml
196207
```
208+
```
197209

198210
## Clone the repository
199211

@@ -212,12 +224,23 @@ flutter pub get
212224
flutter pub run build_runner build --delete-conflicting-outputs
213225
```
214226

227+
This command generates code for:
228+
- Freezed models (immutable data classes)
229+
- JsonSerializable (JSON serialization/deserialization)
230+
- Hive adapters (local database models)
231+
215232
## Run the app
216233

217234
```bash
218235
flutter run
219236
```
220237

238+
After running the app, you can:
239+
- Browse movies, TV series, and celebrities
240+
- View detailed information about each item
241+
- Save your favorite items using the heart icon on detail pages
242+
- Access your saved favorites through the Favorites tab
243+
221244

222245
## Built With 🛠
223246
- [Flutter](https://flutter.dev) - Google’s UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase.
@@ -227,6 +250,8 @@ flutter run
227250
- [Freezed](https://pub.dev/packages/freezed) - A code generator for immutable classes that helps with union types/pattern matching in Dart.
228251
- [JsonSerializable](https://pub.dev/packages/json_serializable) - Generates code for converting between Dart objects and JSON, making serialization easy.
229252
- [Logger / DioLogger](https://pub.dev/packages/logger) - Easy and pretty logging package for debugging; use `DioLogger` to log Dio HTTP requests and responses.
253+
- [Hive](https://pub.dev/packages/hive) - Lightweight and blazing fast key-value database written in pure Dart.
254+
- [Hive Flutter](https://pub.dev/packages/hive_flutter) - Extension for Hive that enables Flutter specific features.
230255

231256
## 👨 Developed By
232257

0 commit comments

Comments
 (0)