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.
- 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.
- 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.
To run CineHub on your local machine, follow these steps:
- Clone the repository:
git clone https://github.com/manojkp08/GDSC_Android_Task_CineHub.git
- Open the project in Android Studio.
- Build and run the app on your emulator or physical device.
If you'd like to contribute to CineHub, please follow these guidelines:
- Fork the repository.
- Create a new branch:
git checkout -b feature/new-feature
- Make your changes and commit them:
git commit -m 'Add new feature'
- Push to the branch:
git push origin feature/new-feature
- Submit a pull request.
- Thanks to TVMaze for providing the API that powers CineHub.
For any inquiries or feedback, please contact [email protected].