Thursday, November 12, 2020

Utah COVID-19 Tracker

The Utah COVID-19 Tracker is similar to the Chinese COVID-19 tracking app that monitors where citizens are located and assigns them a color code (green, yellow, red) based on their perceived risk of infection.  The citizen's color code allows them access to various places like subways, restaurants, or places of employment.  I would not personally endorse that type of surveillance, but thought it would be interesting to build a similar project because it utilizes several technologies that I find fascinating.

The Utah COVID-19 Tracker was my Capstone Project for my Master of Software Development Degree.  It took me about 4 months to plan and build.

The Utah COVID-19 Tracker consists of four major components: 

  • Android mobile application,
  • Web application,
  • Node.js server,
  • MySQL database.

This is the web application, which would be used by government administrators.
It was build using basic HTML, CSS, JavaScript and Bootstrap.
The login functionality was coded entirely from scratch, which means it is not secure.
If I were to build it over, I would use a Login Service like AWS Cognito.
This page is found at www.utahcovidtracker.com.
Feel free to explore the site.  Login: test   Password: test


This page shows the location and color assignment for each citizen.

This page shows a summary of the citizen's current color assignments.

This page allows an adminstrator to change the color assignment of a citizen.

This confirmation page is displayed when a color is successfully changed.

This error page is displayed when a color assignment is not successfully changed.

This is the Android mobile application.

Registration page.


Data Summary.

QR code page.
The user's Social Security Number is
embedded in the QR code.

Wednesday, November 4, 2020

Android Lifestyle Mobile App

This project took approximately 3 months to build.  I designed the UI using Adobe XD, implemented the map functionality using the Google Maps API, implemented the background functionality for the calculator, connected the calculator functionality to a user-friendly slider on the UI, and implemented gestures that utilize the device's accelerometer and gyroscope, which turn a step counter on and off.

This application implements MVVM architecture, Android Fragments, and an instance of a Singleton design pattern.  The application was written in 95% and 5% Kotlin.

The repository for this project can be found HERE.  I will grant you permission to the repository if you are a prospective employer - I can't share it publicly because future students might use it.

I thoroughly enjoyed every aspect of this project and would jump at the opportunity to work on a mobile app development team in the future.  This application was a group assignment for my CS 6018 App System Design class.  It was completed along with my two outstanding classmates, Jonathan Sullivan, and Sam Bauter. 


Please watch a brief demonstration of the application.  



The home screen allows the user to choose from 5 different activities.



The My Profile activity saves to a local database.
The update photo feature is fully functional.



The Weight Management Calculator pulls data from the local database,
then uses it to make calculations.  The 'Daily Calories to Achieve Goal' updates in real time when the slider is moved back-and-forth, or when the active/sedentary button is changed.
Making all of the calculations work on the backend was surprisingly challenging,
but we were very satisfied with the result.



Clicking the 'Nearby Hikes' button launches the Google Maps app.
This was simple to implement.



Clicking the 'Local Weather' button accesses data from the OpenWeatherMap API.
It was challenging to format the data from the API.



Clicking 'Step Counter' launches a step counter.
The counter begins counting when the user gives the phone a shake.
The counter stops counting when the user spins the phone.