Skip to content

demur/Capstone

Repository files navigation

Jersey City On-Street Permit Parking Helper

Udacity Grow with Google Android Developer Nanodegree Program

Overview

This application helps to eliminate frustration and cut down time wasted on search for parking spots in downtown Jersey City, NJ. Hunt for an on-street spot can be quite a disappointing challenge equally for residents and visitors. Remembering the location of the vehicle and keeping in mind allowed parking time can be rather exhausting too. The app provides easy and comprehensive way to accomplish these tasks and avoid getting tickets for prohibited parking.

Screenshots

Project Requirements

Common

  • App conforms to common standards found in the Android Nanodegree General Project Guidelines
  • App is written solely in the Java Programming Language
  • App utilizes stable release versions of all libraries, Gradle, and Android Studio

Core Platform Development

  • App integrates third-party libraries
  • App validates all input from servers and users. If data does not exist or is in the wrong format, the app logs this fact and does not crash
  • App includes support for accessibility. That includes content descriptions, navigation using a D-pad
  • App keeps all strings in a strings.xml file and enables RTL layout switching on all layouts
  • App provides a widget to provide relevant information to the user on the home screen

Google Play Services

  • App integrates two or more Google services. Google service integrations can be a part of Google Play Services or Firebase
  • Each service imported in the build.gradle is used in the app
  • App customizes the user’s experience by using the device's location
  • App creates only one analytics instance
  • Map provides relevant information to the user

Material Design

  • App theme extends AppCompat
  • App uses an app bar and associated toolbars
  • App uses standard and simple transitions between activities

Building

  • App builds from a clean repository checkout with no additional configuration
  • App builds and deploys using the installRelease Gradle task
  • All app dependencies are managed by Gradle

Data Persistence

  • App stores data using Cloud Firestore
  • LiveData and ViewModel are used to fetch and process all data changes in Cloud Firestore
  • No unnecessary calls to Cloud Firestore are made

Libraries

  • AndroidX previously known as 'Android support Library'
    • ConstraintLayout allows to create large and complex layouts
    • DataBinding allows to bind UI components in layouts to data sources in app
    • ViewModel the class designed to store and manage UI-related data in a lifecycle conscious way
    • LiveData an observable data holder class
  • Firebase a Backend-as-a-Service app-development platform on Google Cloud Platform
    • Cloud Firestore flexible, scalable NoSQL cloud database to store and sync data for client- and server-side development
    • Crashlytics clear, actionable insight into app issues with this powerful crash reporting solution
    • Analytics an app measurement solution that provides insight on app usage and user engagement
    • Authentication easy-to-use services to authenticate users to an app
    • Cloud Messaging a messaging solution that lets reliably send notifications at no cost
  • Google Maps adds maps based on Google Maps data to an application
  • Maps SDK Utility Library contains various utilities that are useful for applications that are using Google Maps API
  • SublimePicker a material-styled view for picking of date and time at ease
  • ScrollableNumberPicker a user-friendly numerical input interface

About

Udacity Grow with Google Android Developer Nanodegree Program, Capstone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages