A simple and scalable Flutter application to browse movie details using The Movie Database (TMDB) API. This project follows a clean architecture approach with a reusable API layer powered by Dio.
- Fetch and display movie details
- Scalable API integration using Dio
- Clean and modular project structure
- Centralized API handling (interceptors, logging)
- Optimized network calls
git clone <your-repo-url>
flutter pub get
flutter run
This project uses TMDB API.
- You must add your own API key before running the project.
- Create an account on TMDB
- Generate your API key
- Open the file:
lib/core/network/api_endpoints.dart
- Add your API key:
class ApiEndpoints {
static const String baseUrl = 'https://api.themoviedb.org/3';
static const String apiKey = 'YOUR_API_KEY_HERE';
}- Flutter
- Dart
- Dio (HTTP client)
-
Do not commit your API key to public repositories
-
If API calls fail, check:
- Internet connection
- API key validity
- Rate limits
- Singleton Dio client
- Interceptors for logging and request handling
- Separation of concerns (API, UI, Models)
- Reusable network layer
- Search movies
- Favorites or Watchlist
- Movie trailers
- Dark mode support
- Feel free to fork and improve this project
- Pull requests are welcome