Semi Finals Video:
Quarter Finals Video:
Many challenges today stem from the inability to cheaply and efficiently collect data, analyze it and share with others. My project, analog.io is a full stack development that aims to solve this issue. It has a very broad use case that could be used to monitor & reduce pollution, more efficiently heat or cool buildings, monitor water consumption, grow better food or learn more about our honey bees.
Nature is a very intertwined network of all kinds of data and my goal with analog.io is to create a community where everyone can come together for this common good.
Web Software Architecture:
analog.io is build on the Digital Ocean VPS cloud. These are basically linux servers running Ubuntu LTS 14.4. On Ubuntu I have install Ruby on Rails, Nginx and Postgres and deploy my application using Capistrano.
The application is developed in AngularJS and uses a Bootstrap Theme called Inspinia which I purchased from wrapbootstrap. For charts, the Highstocks library is used.
In addition to the web app, analog.io relies on separate "data backend" servers that store the actual IoT data. These backend servers run an open source library called phant.io. Phant was created by Sparkfun and is the infrastructure that data.sparkfun.com runs on. I have since forked phant.io and have been doing some modifications and improvements to it which I would ultimately like to merge back.
Phant.io is developed in nodejs and also runs in the Ubuntu environment. analog.io's AngularJS application makes API calls to the appropriate backend server to retrieve data. This means that analog.io can connect to any instance of phant, not just analog.io. I have experimented with building my own servers and also have 2 customers who I maintain private instances of phant for.