PoliticalPreparedness is an application that provides civic data intended to provide educational opportunities to the U.S. electorate using data provided by the Google Civic Information API. It will allow users to track information on target representatives and voting initiatives where applicable. Users will be able to target a specific location and retrieve the associated civic data, displaying it to the user, and providing a clean user experience for consumption. Users will be able to save predefined locations for quick access and mark preferred representatives and policy outcomes. Where available, elections and voter information will also be provided, notifying the users on upcoming elections and providing access to associated information and saved data.
This app demonstrates the following views and techniques:
- Retrofit to make api calls to an HTTP web service.
- Moshi which handles the deserialization of the returned JSON to Kotlin data objects.
- Glide to load and cache images by URL.
- Room for local database storage.
It leverages the following components from the Jetpack library:
- ViewModel
- LiveData
- Data Binding with binding adapters
- Navigation with the SafeArgs plugin for parameter passing between fragments
