Skip to content

"Flutter Movie Box" is a sleek Flutter app showcasing movies from TMDb API. Features include browsing, favoriting, and caching. It's built with Clean Architecture, BLoC, and other design patterns, leveraging technologies like flutter_bloc for state management and http for networking. Dive into cinematic exploration with ease.

Notifications You must be signed in to change notification settings

KhaledElwazan/flutter_movie_box

Repository files navigation

Flutter Movie Box

A Flutter project that displays a list of movies from the The Movie Database (TMDb) API.

Features

  • Display a list of movies
  • View movie details
  • Add movies to favorites
  • View favorite movies
  • Caching requests
  • App theme switcher
  • Responsive design for different screen sizes

Architecture and Design Patterns Used

Technologies

  • dartz - Functional programming in Dart
  • flutter_bloc - State management
  • bloc - Business logic components
  • http - Network requests
  • shared_preferences - Caching requests
  • equatable - Value equality
  • get_it - Dependency injection
  • internet_connection_checker - Check internet connection
  • flutter_rating_bar - Rating stars
  • intl - Internationalization
  • flex_color_scheme - App theme switcher
  • adaptive_theme - App mode switcher
  • setting_ui - App settings

Getting Started

  1. Clone the repository
git clone
  1. Install dependencies
flutter pub get
  1. Create a .env file in the root directory and add your TMDb API key
API_KEY=YOUR_API_KEY
  1. Run the app
flutter run

Screenshots

Home Screen Movie Details Upcoming Movies
Home Screen Movie Details Upcoming Movies
App Drawer Settings Screen Home Screen (Dark Mode)
App Drawer Settings Screen Home Screen (Dark Mode)
Responsive Design (Tablet)
Responsive Design (Tablet)

TODO:

  • Add a search bar to search for movies
  • Switch from using SharedPreferences to Hive/floor for caching and storing movies
  • Switch from using the http package to the dio package for network requests
  • Localize the app in multiple languages
  • Switching between multiple themes
  • Responsive design for different screen sizes

About

"Flutter Movie Box" is a sleek Flutter app showcasing movies from TMDb API. Features include browsing, favoriting, and caching. It's built with Clean Architecture, BLoC, and other design patterns, leveraging technologies like flutter_bloc for state management and http for networking. Dive into cinematic exploration with ease.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published