'slike, perfect...maybe
this is somewhere between proof of concept and in progress, i'll put some more words here later
weather API retry/backoff before failingreuse the same token if its still goodremainder of the hour ttl cache for given coords for weather requestuse the actual logger print is not a logger cmondockerize itintermediate image for scipy/numpy because they take forever to install
local build 'n run scriptrun on flydeploy scriptmigrate from yaml to fly secrets, populate in deploy script and plain env vars in buildnrun scriptlocal docker compose orchestration with redisfly/upstash redis for prodread scoring.json into redis at startup, use it to read from when scoringadmin endpoint for scoring ingest to populate redis insteadsplit the API call caching and scoring caching, bust scoring when profile is updated
replace async-cache with redis for forecastendpoint to force evict all caches
out of memory crashesfigure out the redis reconnection timeoutsmultiple scoring profilesUI select from available, persist selection in localstorage, include in API callsparameterize ingest, read from profiles, everything
- choose location instead of gps
- use openweathermap api for geocoding
- remove field scores from forecast response, only tag most impactful
- admin routes auth
- make a website that don't suck
in case you were wondering
decimal places | degrees | distance |
---|---|---|
0 | 1 | 111 km |
1 | 0.1 | 11.1 km |
2 | 0.01 | 1.11 km |
3 | 0.001 | 111 m |
4 | 0.0001 | 11.1 m |
5 | 0.00001 | 1.11 m |
6 | 0.000001 | 11.1 cm |
7 | 0.0000001 | 1.11 cm |
8 | 0.00000001 | 1.11 mm |