The purpose of Appy is to allow programs to easily escape the bounds of a single device. These days people have more computers than their desktop or laptop. There are computers in their phone, watch, car, and even some light bulbs. Appy connects all of a these internet connected devices to allow the actions and data from those devices to be used to trigger any number of actions on other devices. One example would be combining the geolocation of a car returning home and a swipe on a phone to open the garage door and turn on the lights. The application is structured with an Angular.js front end for the connecting of devices and the creation of the mappings from data to actions. The front end communicates with a Django back end that stores the user’s information such as devices and the mappings they’ve made. A node.js server handles all the communications with the devices that a user has connected.
I worked on this application with a partner, Farhan Munshi. I worked on developing the front end as well as the RESTful API routes in Django. I created the front end using Angular.js, following the MVC design pattern. I relied on many of the wonderful features in Angular such as two way data binding, dependency injection, and directives. I also utilized jQuery to achieve some of the UI interactions, such as dragging and dropping. I created the visuals (very much a work in progress) using bootstrap.