parallelExecution / PoliticalPreparednessApp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Political Preparedness

Political Preparedness 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. Application will use data from this API to 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:

Demo

Upcoming Elections Find representatives using location
upcoming_elections_flow find_rep_location_flow
Find representatives using address Preserving state on process kill and orientation changes
find_rep_using_address Preserving motion layout and recycler view state

Setting up the Repository

To get started with this project, simply pull the repository and import the project into Android Studio. From there, deploy the project to an emulator or device.

  • NOTE: In order for this project to pull data, you will need to add your API Key to the project as a value in the CivicsHttpClient. You can generate an API Key from the Google Developers Console

Project Specification

Following is the project rubric that lists all the requirements that are met by application.

rubric

About


Languages

Language:Kotlin 100.0%