Completed Projects



W&L MockCon App

Summary

The MockCon app became available in late January of 2020 to support sustainability efforts at Washington and Lee's 27th Mock Convention. This is a mobile app that I designed myself after teaching myself much of the iOS and Swift ecosystems. The visual design was a broader collaboration among the MockCon Communications Team, but the technical implementation was entirely my own.

SwiftUI

I implemented Apple's relatively new SwiftUI framework for the majority of the project. This was in part to allow rapid GUI prototyping and also in order to design a familiar and reactive user interface. Over the course of my work, I designed several work arounds for problems that some developers have faced, which I have written brief excerpts and posted some code examples.

AWS Mobile Hub

Approximately half of the app data was served via AWS DynamoDB and AWS S3, services conveniently linked to AWS Mobile Hub. This included Event Data, Speakers Data, and Press Data. This was a quick and convenient way to serve relatively static content without building a stack to support the processes. Additionally, it was fairly easy to implement after modifying AWS' Documentation.

AWS EC2

Some data required complex processing and data storage to make my digital ticketing system function in a way that would be useful to the MockCon team. I used an Elastic Compute Cloud instance to set up an NGINX webserver to support this functionality and the functionality of the MockCon photo stream. See below for more!


W&L MockCon App Infrastructure

Summary

The app support site, mockcon.com is the result of a parallel project I created to support the functionality of the MockCon iOS app. The server runs on NGINX and uses a variety of HTML, CSS, PHP, Javascript, and Python to dynamically generate the necessary content. For this project I had to teach myself about webserver configuration and web protocol in addition to designing an authentication system for the website to administer various parts of the app in real time.

Configuration

The site is powered by Let's Encrypt certificates to force HTTPS protocol on all connections. The domain and server are entirely operated and owned by me and I will continue to update and support the site while I am at Washington and Lee.

Development

The site has 3 primary operations:
1. Sending Convention emails related to the ticketing system.
2. Supporting the ticketing and photos services by providing generated JSON data to the mobile app for the latest updates and content.
3. Serving a responsive website for administrating the photo upload process and allowing rapid solutions to any possible error with the ticketing system. (There were none)