This is a Political Preparedness Application I created as per specifications for the Capstone Project as part of Udacity Nanodegree Android Kotlin Developer Course. Allows for Users to search Upcoming Elections and Representatives based on their location. It integrates Google Civic Information API, Data Binding, MVVM architecture, LiveData, Animations, MotionLayout, Retrofit, Moshi, Glide, Room, Navigation, SafeArgs
✦ Programming Language; Kotlin
✦ Minimum SDK; 26
✦ UI Layout; XML, MotionLayout
✦ Software Tools;
✧ Android Studio: IDE Used to create, compile and build application
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
political_preparedness_demo.mp4
In this project, students will build 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.
Students 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.
✦ API - Integrate API so that the application can pull civic data for a provided address and store locally.
✦ Preferred Candidates - Allow users to mark preferred candidates.
✦ Register API - Register the API in the Google Developer Console and ensure the application can connect.
✦ Expand API Functionality - Expand API functionality to include ballot data for provided locations and corresponding user selections.
✦ Authentication and Data Storage - Enable user-level authentication and data storage. Expand location selection to use geo-location to generate address information.
✦ UI - Refine and enhance UI.
Congrats! Your hard work has paid off!
You made all the required changes pointed out in the previous review and are now ready to move on to the next stage!
Keep up the good work as you continue your Nanodegree journey! Safe journey and bon voyage! 😄