Eric Rybarczyk

Eric Rybarczyk

Enthusiastic and motivated software engineer with diverse experience

AWS & Java Certified Developer

Road Trippy Android App

Capstone project for my Android Developer Nanodegree

Eric Rybarczyk

Road Trippy app feature graphic

To complete my Android Developer Nanodegree in 2018, I envisioned an ambitious app that included a Firebase Realtime Database for persistence as well as Google Maps API integration. These days I would take a different approach to the app architecture, but I learned a heck of a lot and am still proud of the accomplishment.

This capstone project requirement was defined as two phases: first a Final Project Proposal document which followed a prescribed content template, followed by the second phase of developing the app itself. Later, I added technical documentation for the backend cloud and API setup as well.

I also published the app to the Google Play Store to gain experience in that aspect of the process. I later decided to take the app off the store since it was not something I intended to maintain long term and did not wish to incur hosting costs for the backend in particular. The app publishing experience was beneficial when I took over the responsibility for Android development in my day job.

image

I particularly enjoyed learning how to make use of the Google Maps API. For example, when creating a Trip in the app and calling the Directions API, the result is a List<Route> but some routes could include the use of ferries. I chose to try to exclude ferries if possible, but since a ferry might be unavoidable in some cases I did not exclude them entirely from the results, even though that is an option in the API. Working through how to best use the API for these different scenarios was interesting and a new experience for me at the time.

I also made use of the GoogleMap.snapshot() method to save a bitmap of the selected trip destination and used this as part of the styling of the trip details display in the app, as you see in several of the app screenshots shown here.

image

This was the first substantial Android app that I developed. Prior projects in the Nanodegree course were more guided and more modest scope. I attempted to model the architectural approach after some of Google’s todo-mvp architectural sample but I was also still learning things like the Activity lifecycle and other Android platform nuances.

Although the completed app worked well and was stable, the architecture ended up as something of a mix between a cleaner MVP design and more typical Android tutorial code that often mixes many responsibilities in one object, Activity or Fragment. Nonetheless, I remain happy with the results overall, and particularly with how much I learned by completing it.


Article Series

Software Projects

Recent Posts

Categories

About

Enthusiastic and motivated software engineer