Overview
Story App is an Android application built during the Bangkit Academy program for sharing photo stories tagged with location data. Users can capture photos, attach their current location, and browse a feed of stories from other users displayed on a map.
Approach
Built with Kotlin using the MVVM architecture pattern and Jetpack libraries. The app integrates CameraX for photo capture, Google Maps SDK for displaying story locations on an interactive map, and Paging 3 with Room for an offline-capable paginated story feed. Authentication is handled via token-based login.
Tech Stack
| Layer | Technology |
|---|---|
| Language | Kotlin |
| IDE | Android Studio |
| Architecture | MVVM |
| Camera | CameraX |
| Maps | Google Maps SDK |
| Pagination | Paging 3 |
| Local Storage | Room |
| Networking | Retrofit |
Key Implementation Details
- CameraX integration for in-app photo capture with front/rear camera switching
- Google Maps SDK displaying story locations as markers with info windows
- Paging 3 library with RemoteMediator for paginated story feed backed by Room local cache
- Token-based authentication with secure credential storage
- Image compression before upload to reduce bandwidth usage
- Location services for attaching GPS coordinates to new stories
Outcome
Completed as a Bangkit Academy advanced project, demonstrating camera integration, maps, local database caching with Paging 3, and offline-first architecture patterns.