An open API service indexing awesome lists of open source software.

https://github.com/johnelliott/wb-web

Moved —> https://github.com/johnelliott/waybot
https://github.com/johnelliott/wb-web

arduino browser data iot raspberry-pi web

Last synced: 2 months ago
JSON representation

Moved —> https://github.com/johnelliott/waybot

Awesome Lists containing this project

README

          

# [Waybot Web 📈](https://waybot.primitivemachine.com)

A web app to monitor sensor data form [Waybot traffic counter](https://github.com/johnelliott/wb-counter). See it live [here](https://waybot.primitivemachine.com).

### About
This app tries to load fast by using small assets, compression and some initial markup and CSS before the react app starts. A service worker caches assets on supported clients.

### System Diagram
![diagram of waybot system](https://github.com/johnelliott/wb-web/blob/master/2016-system.jpeg "Waybot system 2016")

### Origins
This app started as a way to experiment with node, websockets and chart libraries running and ran locally with the counter connecting directly to the server process. Later I re-did most of the code to use PouchDB, redux and react on the client and deployed it to a cloud server. This required a serial-http bridge—[wb-upload](https://github.com/johnelliott/wb-upload)—to bring the data to the server.

## Development
- CouchDB is required for local development.
- I used Let's Encrypt for TLS certificates. For local development on mac, add the certificates to the mac keychain app to satisfy the browser security settings—the green lock in the URL bar.

Check out [faker.sh](https://github.com/johnelliott/wb-web/blob/master/faker.sh) to see what the app might see from a traffic counter. This shows the data the app processes.

## Deployment
Deploy to a snowflake server with [Waybot deploy](https://github.com/johnelliott/wb-deploy).

imagemagick/graphicsmagick for creating assets -> [image-resizer.sh](https://github.com/johnelliott/wb-web/blob/master/image-resizer.sh)
gzip for the compression npm scripts