- Overview
- API
- firebase
- Screenshots
- Getting Started
- Folder Structure
- Localization
- Theming
- Contributors
This is a Flutter-based Cinema application that allows users to browse, search for, and manage their movie-watching tasks. The app integrates a movie database API to provide detailed information about various films, helping users discover and keep track of what they want to watch. iOS devices.
- Movie Search: Retrieve movies based on user queries using a movie database API.
- Movie Browsing: Access categories of movies (e.g., popular, top-rated, upcoming) to explore available films.
- Watchlist Management: Use an API to manage a personal watchlist, allowing users to add and remove movies.
- Movie Details: Fetch detailed information about movies, including title, synopsis, rating, release date, and other relevant data.
- Popular Movies: Access a list of currently popular movies to see what others are watching.
- Top-Rated Movies: Fetch a list of the highest-rated movies based on user ratings.
- Upcoming Movies: Discover upcoming movie releases to plan future viewings.
To manage the user's watchlist using Firebase, you'll need to set up Firestore to store watchlist data. Here's how to do it:
- Go to the Firebase Console and create a new project.
- Add your Flutter app to the project and follow the setup instructions to download the
google-services.json
(for Android) orGoogleService-Info.plist
(for iOS).
Add the necessary Firebase dependencies in your pubspec.yaml
file:
dependencies:
firebase_core: ^latest_version
cloud_firestore: ^latest_version
Include your app screenshots here.
Ensure you have the following installed before running this project:
- Flutter SDK
- Dart SDK
- Android Studio or VS Code
- Clone the repository:
git clone https://github.com/yourusername/flutter_todo_app.git
A task management app built with Flutter that supports multiple languages, custom themes, and a structured directory layout for scalability and maintainability.
To get the project dependencies and run the app on your device or emulator, use the following commands:
# Fetch project dependencies
flutter pub get
# Run the app
flutter run
The project follows a structured directory layout to ensure maintainability and scalability:
lib/
├── main.dart # Entry point of the app
├── screens/ # App screens (Home, MovieSearch, MovieDetails, Watchlist, etc.)
├── widgets/ # Custom widgets (MovieItem, WatchlistItem, etc.)
├── models/ # Data models (Movie, Watchlist)
├── services/ # API services for movie database integratio
└── utils/ # Utility functions (e.g., date formatting, API handling)