An Android application built as part of Dicoding’s submission task.
The app displays events in a list (with Bottom Navigation), detail pages, favorites, and supports theme settings (light/dark).
It maintains all previous features while adding new requirements such as Favorites and Theme Preferences.
-
Main Page
- Displays at least 2 types of event lists using Bottom Navigation.
- Each item clickable → opens detail page.
- Loading indicator when fetching data.
-
Detail Page
- Shows event image, title, time, and full description.
- Content wrapped with ScrollView for proper orientation handling.
-
Favorites
- Add or remove favorite events.
- Dedicated page showing all favorited events.
- Favorite items can also open their own detail page.
- Implemented with Room Database.
-
Theme Settings
- Light and Dark theme options.
- Stored with key-value storage (DataStore/SharedPreferences).
- Theme persists even after app restart.
- Ensures all text & indicators visible in both themes.
-
About Page
- Displays profile photo, name, and registered email.
- Accessible via menu with ID
about_page.
This project was developed to meet the requirements of Dicoding’s submission task.
It demonstrates Android fundamentals such as RecyclerView, Room Database, DataStore, Retrofit, ViewModel, and Theme handling.
Built with ❤️ by Krisna Hadi Prasetya (krissphi).





