-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/master'
- Loading branch information
Showing
2 changed files
with
60 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# CineHub - Your Ultimate TV Show Companion | ||
|
||
CineHub is an Android application developed using Kotlin and XML, designed to provide users with a seamless experience in exploring and discovering TV shows and their episodes. The app leverages a powerful tech stack, including OKHTTP, Retrofit, Retrofit GSON converter, Glide, Paging, Coroutines, and Room to ensure optimal performance and a feature-rich user interface. | ||
|
||
## Features | ||
|
||
- **TV Show List:** Browse a comprehensive list of TV shows fetched from the TVMaze API. | ||
- **Episode Details:** View detailed information about each TV show, including the complete list of episodes. | ||
- **Smooth User Experience:** Utilizes coroutines for asynchronous programming, ensuring a responsive and smooth user interface. | ||
- **Efficient Data Fetching:** OKHTTP and Retrofit are employed for efficient and reliable data fetching from the TVMaze API. | ||
- **Image Loading:** Glide is used for efficient and fast loading of images, enhancing the visual appeal of the app. | ||
- **Pagination:** Implements Paging to manage and load large data sets efficiently, enhancing performance. | ||
- **Local Database:** Room is utilized for local data storage, providing offline access to previously fetched data. | ||
|
||
## Screenshots | ||
<img src="https://github.com/manojkp08/GDSC_Android_Task_CineHub/assets/122171992/eaafdef2-8008-42ee-8c2e-3873cdde3d60" alt="Screenshot_20231226_151139" width="200"> | ||
<img src="https://github.com/manojkp08/GDSC_Android_Task_CineHub/assets/122171992/660194d7-3d88-4c76-84c9-688b18b5072c" alt="Screenshot_20231226_151338" width="200"> | ||
<img src="https://github.com/manojkp08/GDSC_Android_Task_CineHub/assets/122171992/2860064a-a593-4bf7-a019-92fce09b7e28" alt="Screenshot_20231226_151309" width="200"> | ||
<img src="https://github.com/manojkp08/GDSC_Android_Task_CineHub/assets/122171992/08f47422-196c-4386-b7f7-e0dc54c14aef" alt="Screenshot_20231226_151405" width="200"> | ||
<img src="https://github.com/manojkp08/GDSC_Android_Task_CineHub/assets/122171992/17ef69f7-026d-4ec8-a1eb-4638287d2201" alt="Screenshot_20231226_151354" width="200"> | ||
|
||
|
||
## Tech Stack | ||
|
||
- **Kotlin:** Primary programming language for Android app development. | ||
- **XML:** Markup language for designing the app's user interface. | ||
- **OKHTTP:** HTTP client for making network requests. | ||
- **Retrofit:** Type-safe HTTP client for Android and Java. | ||
- **Retrofit GSON Converter:** Converts JSON responses into Kotlin data classes. | ||
- **Glide:** Image loading library for smooth and efficient image loading. | ||
- **Coroutines:** Used for asynchronous programming, ensuring a responsive user interface. | ||
- **Paging:** Library for managing and loading large data sets in a paginated manner. | ||
- **Room:** Local database for storing and caching data. | ||
|
||
## Getting Started | ||
|
||
To run CineHub on your local machine, follow these steps: | ||
|
||
1. Clone the repository: `git clone https://github.com/manojkp08/GDSC_Android_Task_CineHub.git` | ||
2. Open the project in Android Studio. | ||
3. Build and run the app on your emulator or physical device. | ||
|
||
## Contributing | ||
|
||
If you'd like to contribute to CineHub, please follow these guidelines: | ||
|
||
1. Fork the repository. | ||
2. Create a new branch: `git checkout -b feature/new-feature` | ||
3. Make your changes and commit them: `git commit -m 'Add new feature'` | ||
4. Push to the branch: `git push origin feature/new-feature` | ||
5. Submit a pull request. | ||
|
||
|
||
## Acknowledgments | ||
|
||
- Thanks to TVMaze for providing the API that powers CineHub. | ||
|
||
## Contact | ||
|
||
For any inquiries or feedback, please contact [[email protected]](mailto:[email protected]). |