Technologies

Front-End:

Meteor Logo

Meteor

UI Framework

Meteor is a platform that allows you
to create web or mobile based applications.
It is an easy way to implement a cross
platform application.
We are using Meteor to create a mobile
application that is portable to Android and iOS.
The JavaScript based platform will also allow us
to create scripts for image processing.
Chart Logo

Chart.js

Graphical Interface

Chart.js is a JavaScript library that allows you
to create a custom graph. This graph can be
stored as an interactive HTML element for the
user to see.
We are using Chart.js to plot all of the data
that is submitted through our application. This
is being compared with data such as the flood
data for that gauge, as well as showing personal
user collected data versus data collected by all
users of our application.
OpenCV Logo

OpenCV

Image Processing

OpenCV is a robust computer vision
library that is primarily written in
optimized C/C++ code. As such, it is
very efficient and capable of running
on a number of platforms.
For our project we used OpenCV JS,
which allows for the construction
of C objects through Emscripten. We
translated the image processing
algorithms that were provided
to us by our client, originally
written in Java, into JavaScript
and integrated them into a mobile
application.

Back-End:

Mongo Image

MongoDB

NoSQL Database

MongoDB is a No-SQL database that
involves using collections and documents
to store data. One of the advantages is
that it is very scalable.
We chose MongoDB because it is already
integrated with Meteor but more
importantly because of its promise to
store images.
Heroku Image

Heroku

Server

Heroku is a cloud-based server hosting
solution. Using Meteor Buildpack Horse
from AdmitHub, a package that allows
for the running of Meteor applications
on Heroku.
We provide an online server for our
deployed mobile applications to connect
to. Heroku, through mLab integration,
also hosts our MongoDB database.