On Feb 20th 2017, a Singapore Armed Forces regular serviceman lost consciousness during physical training in camp and died soon after. (ST article)
In light of such events, we created 'Pulse', an IOT-Web prototype, in a little under 2 weeks. 'Pulse' is an app that assists military commanders in monitoring the safety of their men. It reads the heart rates of a group of trainees(real-time) and immediately notifies the instructor if any trainee's heart rate has breached a safety threshold during physical training.
https://pulseboard.herokuapp.com
To facilitate task delegation and communication, we used the Github Project Kanban Board.
- Ruby On Rails
- Arduino (IOT with cloudMQTT)
- PostgreSQL
- Heroku (Deployment)
- React.js
- Bootstrap
- jQuery
- Font Awesome
- This was our 1st React project on Rails. Several issues faced included the following:
-
Integrating React with Devise
-
Managing multiple React states due to the Single Page nature of the app.
- Rails' synchronous nature proved difficult to integrate with MQTT IOT which initially caused the app to hang. To solve this, we ran Rails Active Jobs and sent the MQTT job to the background, allowing users to move on with other app functions.
-
To implement Rails' Action Cable in place of the current AJAX interval polling framework
-
To implement React Routing such that there is a unique link for each footer button (as they are all currently at '/trainings')
-
To re-organise the code such that server side code is not all in the trainings#index controller method.
-
To improve styling to the following:
-
Set media queries and set buttons to the bottom for mobile/tablets and buttons to the top for desktop.
-
Improve mobile site - Remove bootstrap framework and replace with customised CSS to space out the footer buttons. Also to move towards a progressive web app framework.
-
Re-adjust sizes of panels
-
-
To add heart rate graphs of each trainee, providing commanders with a real-time update of their status, akin to an ECG heart monitor. react-chartjs
-
Git clone this repo
-
bundle install
-
rails s to test on local host (Note: IOT MQTT server setup and hardware required)
-
John Ang - IOT Tony Stark - johnacs
-
Iskandar Jamaluddin - Jarvis - anatraxia
-
Justin Teo - Jarvis 2.0 - ShindoSensei