diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e5badc --- /dev/null +++ b/README.md @@ -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. diff --git a/src/main.rs b/src/main.rs index b43aac9..05dffcf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -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")) diff --git a/static/index.html b/static/index.html index 44e7937..012ef38 100644 --- a/static/index.html +++ b/static/index.html @@ -49,14 +49,14 @@
Download data: CSV JSON
-
+
Data source: Massachusetts Water Resources Authority -
-
+ +
Source code -
-
-
(c) 2022 xenofem, MIT License
-
+ +
+ (c) 2022 xenofem, MIT License +