Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahmednaser7/movie
Movie application provide a new films and series using News Api
https://github.com/ahmednaser7/movie
android jetpack-compose kotlin
Last synced: about 1 month ago
JSON representation
Movie application provide a new films and series using News Api
- Host: GitHub
- URL: https://github.com/ahmednaser7/movie
- Owner: ahmedNaser7
- Created: 2024-07-03T12:42:31.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-07-30T14:27:04.000Z (7 months ago)
- Last Synced: 2024-11-13T00:08:02.454Z (3 months ago)
- Topics: android, jetpack-compose, kotlin
- Language: Kotlin
- Homepage:
- Size: 1.47 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Movie Application
A simple and easy-to-use movie application built with Jetpack Compose and Kotlin, utilizing Retrofit for API calls. The app displays new releases and recommended movies, allows users to search for movies, and add them to their watchlist
## Screenshots
## Features
- Home
- Movie Details
- Search
- Browse
- Browse Details
- WatchList## Technologies Used
- [Jetpack Compose](https://developer.android.com/compose)
- [Retrofit ](https://square.github.io/retrofit/)
- [The Movie Database (TMDb) API](https://developer.themoviedb.org/docs/getting-started)
- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel)## Getting Started
### Prerequisites
- [Android Studio](https://developer.android.com/studio)
- A Firebase project with Realtime Database and Authentication set up### Installation
1. Clone the repository:
```sh
https://github.com/ahmedNaser7/Movie.git
```
2. Open the project in Android Studio.3. Sync the project with Gradle files.
### Configuration
. Set up api Authentication:
- read the document of Movie Api## Architecture
The application follows the MVVM (Model-View-ViewModel) architecture pattern for a clean separation of concerns and easy testability.
- **Model**: Contains the data classes and the repository for data handling.
- **View**: Includes the UI components and observes the data from the ViewModel.
- **ViewModel**: Acts as a bridge between the Model and the View, holding the UI data and handling logic.