A modern Android application built with a multi-module architecture, showcasing best practices in Android development.
- Home: Browse through a curated list of movies
- Details: View detailed information about selected movies
- Search: Search functionality for finding specific movies
- Favorites: Save and manage your favorite movies
This project follows a multi-module clean architecture approach:
app: Main application modulefeature: Contains feature moduleshome: Home screen implementationdetails: Movie details screensearch: Search functionalityfavorites: Favorites management
coreui: Common UI components and resourcescommon: Shared utilities and extensionsdata: Data layer implementationdomain: Business logic and use casesnavigation: Navigation components
- Kotlin: Primary programming language
- Jetpack Compose: Modern UI toolkit
- Hilt: Dependency injection
- Multi-module Architecture: Scalable and maintainable project structure
- Clean Architecture: Separation of concerns
- Gradle KTS: Build configuration with Kotlin DSL
- TMDB API: Movie data source
- Android Studio Arctic Fox or later
- JDK 11 or later
- Android SDK
- TMDB API Key (Get it from TMDB Website)
- Clone the repository:
git clone https://github.com/TamerSarioglu/WatchMultiModule- Add your TMDB API key to
local.properties:
TMDB_API_KEY=your_api_key_here-
Open the project in Android Studio
-
Sync the project with Gradle files
-
Run the app on an emulator or physical device
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License
Your Name - @YourTwitter
Project Link: https://github.com/TamerSarioglu/WatchMultiModule