Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abdojoker99/cinema
https://github.com/abdojoker99/cinema
api bloc dart firebase flutter oop provider ui
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/abdojoker99/cinema
- Owner: AbdoJoker99
- Created: 2024-09-15T08:19:44.000Z (5 months ago)
- Default Branch: development
- Last Pushed: 2024-10-18T00:19:27.000Z (4 months ago)
- Last Synced: 2024-10-20T11:08:45.198Z (4 months ago)
- Topics: api, bloc, dart, firebase, flutter, oop, provider, ui
- Language: C++
- Homepage:
- Size: 1.03 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Flutter Cinema
## Table of Contents
- [Overview](#overview)
- [API](#API)
- [firebase](#Firebase)
- [Screenshots](#screenshots)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Folder Structure](#folder-structure)
- [Localization](#localization)
- [Theming](#theming)
- [Contributors](#contributors)
## Overview
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.## API
- **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.## Firebase
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:
### 1. Set Up Firebase
- Go to the [Firebase Console](https://console.firebase.google.com/) 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) or `GoogleService-Info.plist` (for iOS).### 2. Add Firebase Dependencies
Add the necessary Firebase dependencies in your `pubspec.yaml` file:
```yaml
dependencies:
firebase_core: ^latest_version
cloud_firestore: ^latest_version
```
## Screenshots
Include your app screenshots here.## Getting Started
### Prerequisites
Ensure you have the following installed before running this project:
- Flutter SDK
- Dart SDK
- Android Studio or VS Code### Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/flutter_todo_app.git
# Flutter Task Management AppA task management app built with Flutter that supports multiple languages, custom themes, and a structured directory layout for scalability and maintainability.
## Getting Started
To get the project dependencies and run the app on your device or emulator, use the following commands:
```bash
# Fetch project dependencies
flutter pub get# Run the app
flutter run
```## Folder Structure
The project follows a structured directory layout to ensure maintainability and scalability:
## Folder Structure
```bash
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)
```