DropDate is a modern Android application designed to help users track upcoming releases for Movies, TV Series, and Anime. Built with a focus on a smooth user experience, it features an offline-first architecture, real-time countdowns, and a clean, gesture-driven interface.
- Weekly Schedule Navigation: A unique floating "Week Scroller" that allows you to jump between dates with ease.
- Content Filtering: Quickly toggle between Movies, Series, and Anime using interactive chips.
- Real-time Countdowns: See exactly how long remains until the next episode or premiere.
- Offline-First: All data is cached locally using Room, ensuring you can check your schedule even without an internet connection.
- Detailed Information: High-quality posters, synopses, ratings, and streaming platform badges.
- Background Sync: Uses WorkManager to keep release data up-to-date in the background.
- Modern UI: Pure Jetpack Compose with Material 3, featuring custom animations and a dark-themed aesthetic.
- UI: Jetpack Compose (Material 3)
- Architecture: MVVM + Clean Architecture
- Dependency Injection: Hilt
- Networking: Retrofit & OkHttp
- Database: Room
- Local Storage: DataStore (Preferences)
- Image Loading: Coil 3
- Background Work: WorkManager
- JSON Parsing: Kotlin Serialization
- Concurrency: Kotlin Coroutines & Flow
- Android Studio Ladybug or newer
- JDK 17+
- Android SDK 24 (Min SDK) / 36 (Target SDK)
The app requires a TMDB API key to fetch movie and series data.
- Create a
keystore.propertiesfile in your root directory (optional for release builds). - Add your API key to your
local.propertiesor define it in your environment:TMDB_API_KEY=your_api_key_here
- Clone the repository:
git clone https://github.com/yourusername/DropDate.git
- Open the project in Android Studio.
- Sync Gradle and run the
:appmodule.
data/: Implementation of repositories, local DB (Room), and remote API (Retrofit).domain/: Business logic, domain models, and repository interfaces.presentation/: UI layer (Compose Screens, ViewModels, Components).di/: Dependency injection modules.ui/theme/: Global styling, colors, and dimensions.
This project is licensed under the MIT License - see the LICENSE file for details.