A calendar-style immersive wallpaper app built with Jetpack Compose + Kotlin
Official Site · 中文文档 · Releases
Home | Categories | Mine
- Calendar-style homepage — Browse daily wallpapers in an immersive, date-driven layout
- Curated categories — Discover wallpapers organized by theme and style
- Collections & custom albums — Save favorites and build personal collections
- Bilingual support — Full Chinese / English interface
- Custom search — Search with custom keywords and fetch wallpapers from the Pexels API
| Layer | Technology |
|---|---|
| UI | Jetpack Compose + Material 3 |
| Language | Kotlin |
| Architecture | MVVM + Repository |
| Navigation | Navigation Compose |
| Networking | Retrofit 2 + OkHttp + Moshi |
| Image loading | Coil |
| Local storage | Room |
| Build | Gradle Version Catalogs (libs.versions.toml) |
- Android Studio Narwhal (2025.1) or later
- JDK 11+
- Android SDK 37
# Clone the repo
git clone https://github.com/ColdP/TodayWallpaper.git
cd TodayWallpaper
# Build debug APK
./gradlew assembleDebug
# Build release APK (requires keystore env vars)
./gradlew assembleReleaseRelease signing requires the following environment variables:
| Variable | Description |
|---|---|
KEYSTORE_PATH |
Absolute path to your .jks keystore |
STORE_PASSWORD |
Keystore password |
KEY_PASSWORD |
Key password |
TodayWallpaper/
├── app/
│ └── src/
│ └── main/
│ ├── java/btm/m/todaywallpaper/ # Kotlin source
│ └── res/ # Resources
├── gradle/
│ └── libs.versions.toml # Version catalog
├── images/ # README assets
├── build.gradle.kts
└── settings.gradle.kts
Pull requests are welcome! Please read CONTRIBUTING.md for guidelines on how to get started, submit a PR, or report an issue.
This project is licensed under the MIT License.
See OPEN_SOURCE_LICENSES.md for the full list of third-party libraries and their licenses.