A modern Flutter application for browsing movies and TV shows using The Movie Database (TMDb) API.
- 🔐 User Authentication - Secure login with TMDb accounts
- 🔍 Advanced Search - Search movies and TV shows with real-time results
- 🎭 Movie Details - Comprehensive information including cast, crew, and ratings
- 📺 TV Show Support - Browse and discover TV series
- ⭐ User Ratings - Rate and review your favorite content
- 📱 Responsive Design - Optimized for all screen sizes
- 🌙 Dark/Light Theme - Customizable app appearance
- 📋 Watchlists - Create and manage personal movie lists
This project is currently under active development. New features and improvements are being added regularly.
- Offline support with local database
- Social features and user reviews
- Personalized recommendations
- Movie trailers and videos
- Advanced filtering options
- Push notifications for new releases
The app follows clean architecture principles with:
- UI Layer: Flutter widgets with state management
- Domain Layer: Business logic and use cases
- Data Layer: API clients and data models
- State Management: Provider pattern for reactive UI
- Frontend: Flutter & Dart
- State Management: Provider
- HTTP Client: Native Dart HTTP
- API: TMDb REST API
- Authentication: TMDb Session-based Auth
- Architecture: Clean Architecture with MVVM
Screenshots will be added as development progresses
- Flutter SDK (>=3.0.0)
- Dart SDK (>=2.17.0)
- Android Studio / VS Code
- TMDb API Key
-
Clone the repository
git clone https://github.com/Gaygysyz05/flutter-tmdb.git cd flutter-tmdb
-
Install dependencies
flutter pub get
-
API Configuration
- Get your API key from TMDb
- Add your API key to the project (configuration details coming soon)
-
Run the app
flutter run
lib/
├── domain/
│ ├── api_client/ # API communication layer
│ └── data_provider/ # Data provider
│ └── entity/ # Data json
├── library/ # App provider
├── resources/ # Image resources
├── ui/
│ ├── elements/ # App elements
│ ├── navigation/ # App navigation
│ ├── theme/ # App theming
│ └── widgets/ # Reusable UI components
└── main.dart # App entry point
Contributions are welcome! This project is still in development, so there are many opportunities to contribute.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Basic project setup
- TMDb API integration
- User authentication
- Movie search and browsing
- Detailed movie information
- TV show support
- User ratings and reviews
- Watchlist functionality
- Offline capabilities
- Authentication flow improvements needed
- UI/UX refinements in progress
- Error handling enhancements
This project is licensed under the MIT License - see the LICENSE file for details.
- The Movie Database (TMDb) for providing the excellent API
- Flutter team for the amazing framework
- Open source community for inspiration and contributions
Gaygysyz - @Gaygysyz05
Project Link: https://github.com/Gaygysyz05/flutter-tmdb
⭐ If you found this project helpful, please give it a star!