A modern Android application built with a multi-module architecture, showcasing best practices in Android development.
🌟 Features
- 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
🏗 Architecture
This project follows a multi-module clean architecture approach:
App Modules
app: Main application modulefeature: Contains feature moduleshome: Home screen implementationdetails: Movie details screensearch: Search functionalityfavorites: Favorites management
Core Modules
coreui: Common UI components and resourcescommon: Shared utilities and extensionsdata: Data layer implementationdomain: Business logic and use casesnavigation: Navigation components
🛠 Tech Stack
- 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
🚀 Getting Started
Prerequisites
- Android Studio Arctic Fox or later
- JDK 11 or later
- Android SDK
- TMDB API Key (Get it from TMDB Website)
Setup
- 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
🤝 Contributing
- 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
📄 License
This project is licensed under the MIT License
👤 Author
Your Name - @YourTwitter
Project Link: https://github.com/TamerSarioglu/WatchMultiModule