A simple, fast Android app to browse NASA’s Astronomy Picture of the Day (APOD) — save for offline, toggle theme, and enjoy a clean Jetpack Compose UI.
- 📸 Fetches NASA Astronomy Picture of the Day via Retrofit.
- 🗂️ Save/remove images offline (Room DB) — saved state reflected in the list.
- 🌗 Light / Dark theme toggle (Preference DataStore) — persisted across restarts.
- ⚡ Smooth UI: shimmer loading, image crossfade, card animations.
- 🧭 Two-tab nav: Home (grid) and Offline (saved).
- 📊 Firebase Analytics for basic DAU tracking.
Download the latest signed APK:
Build from source (developer):
git clone https://github.com/Prashant-Sgh/APOD.git- Open in Android Studio.
- Add a
local.propertiesat the project root with your API key: NASA_API_KEY=your_new_api_key_here (with no spaces around "=")Do not commit
local.properties. - Build
./gradlew assembleDebug - The APK appears in:
app/build/outputs/apk/...
- Home Grid — Two-column grid of APOD cards.
- Tap a card → Detail (full image, title, date, explanation).
- Top-right switch toggles Light/Dark theme.
- “Show More” button at bottom loads older entries.
- Detail — Favorite (save/unsave) via heart/star icon; UI shows saved state.
- Offline tab — View saved images offline; open details or remove from offline.
- State — saved status stored in Room; theme stored in DataStore.
- Language: Kotlin
- UI: Jetpack Compose (Material3)
- Networking: Retrofit + Gson
- Images: Coil (2.5.0)
In order to match minsdk 21+
- Local storage: Room (offline saved items) & DataStore Preferences (theme)
- Concurrency: Kotlin Coroutines / StateFlow
- Analytics: Firebase Analytics
- Min SDK: 21 (Android 5.0+)
Thanks — contributions welcome!
- Fork → create a feature branch.
- Keep secret out of commits (
local.propertiesis ignored). - Open a PR with a short description and screenshots/GIFs for UI changes.
- For major changes, open an issue first so we can discuss.
- ✅ Put
NASA_API_KEYinlocal.properties(with no quotes).
This app uses data and images from NASA’s Astronomy Picture of the Day (APOD) API.
All image rights remain with their respective owners as credited by NASA on the APOD website.
Disclaimer: This project is for educational and portfolio purposes only.
Images may be subject to copyright by third parties — please check credits on each APOD page before reuse.
