Minimal production Flutter app (OMDb API) with search, filters, favorites, rich detail view. Bloc + Clean Architecture.
| Home Screen | Movie Detial Screen | Watchlist Screen | Search Screen |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Search with type/year filters
- Infinite scroll (list / grid toggle)
- Detailed screen (ratings, metadata, watchlist)
- Favorites persisted locally
- Shimmer skeleton loading
- Flutter (Material 3, dark theme)
- Bloc state management
- Clean Architecture (domain / data / presentation)
- Local Storage for favorites
- http + dotenv (OMDb API)
lib/
main.dart App wiring (providers, blocs)
src/
core/ constants, theme, misc core
data/ models, datasources (remote/local), repositories impl
domain/ entities, abstract repos, usecases
logic/ blocs (movie_search, movie_detail, favorites, filter)
presentation/ ui (home, search, detail, favorites, shared widgets)
Create .env:
OMDB_BASE_URL=https://www.omdbapi.com/
OMDB_API_KEY=YOUR_KEY_HERENever commit real keys (add .env to .gitignore).
flutter pub getflutter run -d <device-id>


