Compare commits
3 commits
ff15f20b55
...
94e12a41f7
Author | SHA1 | Date | |
---|---|---|---|
xenofem | 94e12a41f7 | ||
xenofem | 7a104bbb07 | ||
xenofem | 1c9b71ae16 |
44
README.md
Normal file
44
README.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
# 💩📈
|
||||
|
||||
A better web UI for COVID wastewater data
|
||||
|
||||
💩📈 is a simple web server that periodically downloads a data
|
||||
PDF from the Massachusetts Water Resources Authority, parses it to
|
||||
extract the data, and serves the data as CSV and JSON along with
|
||||
a simple Chart.js-based web frontend.
|
||||
|
||||
## Environment variables
|
||||
|
||||
- `CACHED_PDF_PATH`: file path to save the PDF to. Default: `./data.pdf`.
|
||||
- `STATIC_DIR`: directory containing static files to serve. Default: `./static/`.
|
||||
|
||||
## Running
|
||||
|
||||
### Nix Flakes
|
||||
|
||||
```
|
||||
nix run git+https://git.xeno.science/xenofem/poop-graph?ref=main
|
||||
```
|
||||
|
||||
(The Nix package is wrapped with `STATIC_DIR` set automatically to the
|
||||
correct Nix store path, so it'll serve the static files properly
|
||||
no matter what directory you run it from.)
|
||||
|
||||
### Non-Nix
|
||||
|
||||
```
|
||||
git clone https://git.xeno.science/xenofem/poop-graph
|
||||
cd poop-graph
|
||||
cargo run
|
||||
```
|
||||
|
||||
## Other setup
|
||||
|
||||
- 💩📈 serves HTTP on `127.0.0.1:8080`, and is meant to be used behind
|
||||
a reverse proxy (e.g. Nginx), ideally with SSL certificates
|
||||
(e.g. Let's Encrypt). If you prefer, you could also use that web
|
||||
server to serve the static files, and only pass requests for
|
||||
`/data.csv` and `/data.json` to 💩📈.
|
||||
- You'll probably want to set up a service (systemd or whatever your
|
||||
OS uses) to start 💩📈 automatically with environment
|
||||
variables set appropriately.
|
|
@ -73,7 +73,7 @@ async fn main() -> std::io::Result<()> {
|
|||
HttpServer::new(move || {
|
||||
App::new()
|
||||
.app_data(state.clone())
|
||||
.wrap(Logger::default())
|
||||
.wrap(Logger::new(r#"%{r}a "%r" %s %b "%{Referer}i" "%{User-Agent}i" %T"#))
|
||||
.service(csv)
|
||||
.service(json)
|
||||
.service(actix_files::Files::new("/", static_dir.clone()).index_file("index.html"))
|
||||
|
|
|
@ -49,14 +49,14 @@
|
|||
<div>
|
||||
Download data: <a href="/data.csv">CSV</a> <a href="/data.json">JSON</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>
|
||||
<a href="https://www.mwra.com/biobot/biobotdata.htm">Data source: Massachusetts Water Resources Authority</a>
|
||||
</div>
|
||||
<div>
|
||||
</h5>
|
||||
<h5>
|
||||
<a href="https://git.xeno.science/xenofem/poop-graph">Source code</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>(c) 2022 xenofem, MIT License</h5>
|
||||
</div>
|
||||
</h5>
|
||||
<h5>
|
||||
(c) 2022 xenofem, MIT License
|
||||
</h5>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue