Monash Human Power - Data Acquisition System Web Server
A web server for the Data Acquisition System (DAS) for Monash Human Power.
The node.js + Express HTTP REST server is used to host the real-time dashboard whilst the MQTT broker is used to transfer data from the sensors to all the necessary scripts that need it.
Getting Started
Environment variable setup
Set up environment variables using a .env
file. Create a .env
file in the server/
directory. Add the following variables:
Environment Variable | Description |
---|---|
MQTT_USERNAME | MQTT username |
MQTT_PASSWORD | MQTT password |
MQTT_SERVER | Address of the MQTT broker |
MQTT_PORT | Port of the MQTT broker |
HEROKU | Define this only if you are the Heroku instance |
Installation guide - Frontend
- Go to
client/
yarn install
to install all dependencies and librariesyarn start
to start the development serveryarn build
to create an optimized production bundle
Installation guide - Backend
- Go to
server/
yarn install
to install all dependencies and libraries- Build the frontend production bundle
yarn start
to start the server
Deploying
This project is set up to automatically deploy from GitHub.
Branch | Environment | URL |
---|---|---|
master |
Production | http://mhp-board.herokuapp.com |
Pull requests | Review app |
Documentation
Endpoint | Method | Body | Description |
---|---|---|---|
/files | GET | Returns an array of files that are stored on the server | |
/files/recent | GET | Download most recent file edited from server | |
/files/filename | GET | Download specified file from server | |
/files/filename | DELETE | Delete specified file from server | |
/server/status | GET | Status of the server |
TODO
- Add Map display
- Add power model graph/output
- Options page that saves options to browser storage
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Angus Lee 💻 |
Christopher Hall 💻 |
Angus Trau 💻 |
Harsil Patel 💻 |
Riley Clarke 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!