Dashboard
Monash Human Power - Data Aquisition System Web Server.
Install / Use
/learn @monash-human-power/DashboardREADME
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 installto install all dependencies and librariesyarn startto start the development serveryarn buildto create an optimized production bundle
Installation guide - Backend
- Go to
server/ yarn installto install all dependencies and libraries- Build the frontend production bundle
yarn startto 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):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tr> <td align="center"><a href="https://khlee.me"><img src="https://avatars3.githubusercontent.com/u/18709969?v=4" width="100px;" alt=""/><br /><sub><b>Angus Lee</b></sub></a><br /><a href="https://github.com/monash-human-power/dashboard/commits?author=khanguslee" title="Code">💻</a></td> <td align="center"><a href="https://github.com/hallgchris"><img src="https://avatars2.githubusercontent.com/u/17876556?v=4" width="100px;" alt=""/><br /><sub><b>Christopher Hall</b></sub></a><br /><a href="https://github.com/monash-human-power/dashboard/commits?author=hallgchris" title="Code">💻</a></td> <td align="center"><a href="https://angus.ws"><img src="https://avatars1.githubusercontent.com/u/13267947?v=4" width="100px;" alt=""/><br /><sub><b>Angus Trau</b></sub></a><br /><a href="https://github.com/monash-human-power/dashboard/commits?author=angustrau" title="Code">💻</a></td> <td align="center"><a href="https://twitter.com/harsilspatel"><img src="https://avatars1.githubusercontent.com/u/25992839?v=4" width="100px;" alt=""/><br /><sub><b>Harsil Patel</b></sub></a><br /><a href="https://github.com/monash-human-power/dashboard/commits?author=harsilspatel" title="Code">💻</a></td> <td align="center"><a href="https://github.com/rileyclarke"><img src="https://avatars1.githubusercontent.com/u/24428011?v=4" width="100px;" alt=""/><br /><sub><b>Riley Clarke</b></sub></a><br /><a href="https://github.com/monash-human-power/dashboard/commits?author=rileyclarke" title="Code">💻</a></td> </tr> </table> <!-- markdownlint-enable --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->This project follows the all-contributors specification. Contributions of any kind welcome!
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
