Tuesday, April 6, 2021

Angular Recipe App

While training at my first software engineering position at 3M, I was allowed to take an in-depth Angular Udemy course.  The project I built was coded the hard way, line by line.  It took over 3 months to complete in my spare time.  There were serious bugs in the Udemy course that had to be overcome, which made this project much more educational than the typical copy/paste tutorial.  

Throughout the course I learned many useful skills such as:

  • The fundamentals of creating an Angular application
  • Managing packages with NPM
  • RxJS basics
  • Adding basic Bootstrap formatting features
  • Handling forms
  • Authentication
  • Managing data on a simple Firebase Realtime Database
  • Deploying my application from a simple Firebase Server
My fully functional application is available HERE.  It contains data that would be easily erased if I allowed just anyone to login.  I would be happy to demonstrate it for you if you would like to see it in action.

____________________________


 Here we login to the application.


____________________________


Here we can pull our data from the Firebase Realtime Database.


____________________________

Here we can select a recipe, view its ingredients, edit the ingredients, or delete the recipe.
The edit and delete features drop down from the 'Manage' tab.


____________________________

There is also a shopping list feature that survives page changes.








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.


Thursday, December 5, 2019

Bullseye iOS App Using SwiftUI


This was my first mobile app, created with SwiftUI in Xcode.
The code was mostly based a tutorial from https://www.raywenderlich.com/
I made some modifications to make it look nicer and print more descriptive messages.

The opening screen.

A perfect guess earns 100 points.

A close guess (off by one) earns 50 bonus points.

All guesses earn the difference between 100 subtract the difference from the correct guess.

Bad guesses earn snarky comments as well.

The about screen shares more info about the app.

Wednesday, October 16, 2019

Bees Project in JavaScript

Bees project for CS 6011: Object-Oriented Programming.
The graphics were created using JavaScript and HTML.


Because of University restrictions, I am only allowed to share this code privately.

Wednesday, October 2, 2019

Synthesizer Project in JavaFX

Synthesizer project for CS 6011: Object-Oriented Programming.
The sounds were created by using math formulas and bit manipulation.
The graphics were created with JavaFX.

Phase one - fully functional sliders.


Because of University restrictions, I am only allowed to share this code privately.



Wednesday, September 25, 2019

Connect Four in C++

The classic children's game Connect Four written in C++ using SFML and Xcode.
Final project for CS 6010: Introduction to Programming.
Written with Andrew Woodruff.




The code for this project can be viewed HERE.



Friday, January 25, 2019

Connect Four in Python

The classic children's game Connect Four written in Python using PyCharm.
This was my first Python project, which took about 4 hours to complete.
Snapshots taken while playing from the command line.




The code for this project can be viewed HERE.

Saturday, December 15, 2018

Roulette in Java

The classic casino game roulette written in Java using WindowBuilder and Eclipse.
Final group project for CS 1410: Object-Oriented Programming.
I designed and the board and made the buttons functional.
Gameplay logic was written by Sabath Rodriguez.






The code for my portion of this project can be viewed HERE.