Push vehicle locations over WebSocket (#231)
* vehicle locations are pushed over the Fusion WebSocket to clients
* add a trigger to the locations table that is fired whenever the updater inserts a vehicle location
* LocationService subscribes to Postgres channel, the location is retrieved from the database and put into a channel for Fusion manager to push out to connected clients
* on the frontend, vehicle locations are now stored as members of vehicles instead of separately.
* add reconnecting indicator
* modify travis to enforce package and package lock are in sync
The RPI Elections dashboard for GM Week and Freshman Elections.
Some Updates based on GM Week 2019 (#107)
* Add node SESSION_SECRET to config.js
* Display Graduate Nominator Status
The entry/exit date does not matter for grads
* Remove candidate admin rights
This overrides the CMS API call for candidates who happen to be members of the EC and WTG on CMS. Once somebody is added to the website they give up their admin rights until they are removed as a candidate. One thing to note is that I use a synchronous MySQL library instead of the default async one.
Front end base (#24)
Summary of changes: - Instructions for setting up a SQLite database - Settings files for development and production - Add admin view to create Petition and Tag objects - Basic index page, closes #12 - Base for create petition page - Small changes to model and static files