npm start
will start the server and client concurrently
execute the initApp.bat
file from file explorer. Close the command prompt windows after completion.
execute the runApp.bat
file from file explorer. If you need to restart the app, remember to run killApp.bat
before running the runApp.bat
file again.
The instructions below can also be found in the settings page of the app. (Click top right gear icon)
- w/s: Zoom in/out on graphs
- a/d: pan left/right on graphs
- shift + W/A/S/D: zoom/pan 10x faster
- shift + R: resume live scrolling
- Click connect to server.
- Navigate to sessions page. Select session or create one
- Data is live. Pan/zoom enabled
Try the below fixes in order.
Need to reslect the same session after.
(unless you restart the whole app)
- Switch tabs on the side nav.
- Disconnect and reconnect to server.
- Refresh the tab.
- Relaunch the app entirely. (run
killApp.bat
and thenrunApp.bat
) - Ping on slack.
Data will continue to send to the server, but in order for the data to be displayed on the client, please following the below steps:
- Refresh the page
- Go to "Sessions" tab
- Select the session you were previously connected to, or start a new one
- backend: nodeJS, express, socket-io
- client: React (JS), socket-io, chart.js, material design components
- more data visualization components: map, gauges, bar chart
- add a field for metadata for each sensor instead of hard coding all parameters
- i.e. sensor: {name, value, time metadata:{speed, type, wheel, ... etc.}} instead of having a unique field for each new thing we need to keep track for
- can allow architecture to be more easily adapted to new sensors
- add notification snackbars for server side events to display on the frontend (more indication of what's actually going on)
- need to send sql databases onto the dynamodb and match their schemas (super annoying)
- add unique dashboard for each subteam
- allow the graphs to be updated independently from each other
- the scrolling and panning on the graphs are not perfect
- overall need better user interaction
- performance on rendering the graphs is still an issue (data decimation?)
- Attach node js server directly to the front end, no need to run a separate backend server
- Develop a native desktop app/program for performance instead of running the entire thing on the browser (C++?)