CineScreen is a TV application for browsing and watching movies. It allows users to view movie details, watch movie trailers, and enjoy a user-friendly interface designed using Jetpack Compose. The app follows a clean architecture with modularization, pagination, and dependency injection using Dagger Hilt. It also integrates with a REST API using Retrofit to fetch movie data.
- Browse a collection of movies
- View detailed information about each movie
- Watch movie trailers
- User-friendly UI with TV components and carousel views
Screenshot of CineScreen TV App showcasing the user interface.
CineScreen follows a clean architecture pattern, allowing for clear separation of concerns and easy maintainability. The project is modularized for improved scalability, and Dagger Hilt is used for dependency injection.
The app follows a modular architecture, dividing functionality into the following modules:
- app: Main entry point, UI, and presentation logic. This module also handles dependency injection.
- common: Contains shared components, domain logic, and data handling used across different features.
- feature-home: Module for the home screen feature, including UI, presentation logic, and data handling specific to this feature.
- feature-details: Module for the movie details screen feature, including UI, presentation logic, and data handling specific to this feature.
- feature-search: Module for the search screen feature, including UI, presentation logic, and data handling specific to this feature.
Each module is designed to encapsulate specific functionality, promoting a clean and organized codebase. The app
module serves as the main entry point, orchestrating the various features and handling dependency injection.
- Jetpack Compose: Modern UI toolkit for building native UIs.
- Dagger Hilt: Dependency injection library for Android.
- Retrofit: HTTP client for making API requests.
- Pagination: Handling large data sets efficiently.
- TV Components: Specialized components for TV apps.
- Carousel Component: Creating interactive carousels in the UI.
- Clone the repository:
git clone https://github.com/yourusername/CineScreen.git
- Open the project in Android Studio.
- Build and run the app on a TV emulator or device.
Contributions are welcome! If you'd like to contribute to CineScreen, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Create a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to connect with me on LinkedIn:
Happy coding! 🎬📺