Compare commits
	
		
			3 commits
		
	
	
		
			ff15f20b55
			...
			94e12a41f7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 94e12a41f7 | |||
| 7a104bbb07 | |||
| 1c9b71ae16 | 
					 3 changed files with 52 additions and 8 deletions
				
			
		
							
								
								
									
										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…
	
	Add table
		Add a link
		
	
		Reference in a new issue