Install rust if necessary
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install deps if necessary
sudo apt install gcc make sqlite3 unzip
cargo install cross --git https://github.com/cross-rs/cross
Rocket needs nightly
rustup override set nightly
Download and initialize data
make download-and-import
Blast off
cargo run
make build-pi
git add bin/pontjes_aarch64-unknown-linux-gnu
gc -m 'built pi'
ssh <to@server>
cd src/pontjes
git pull
make build-docker run
The docker container mounts the static files and the templates.
Editing these without a re-build is therefore possible, but does require a make docker-restart
afterwards.
Also, be careful ; )
- Boxed errors? E.g. for
get_feed_info()
return type - Compare joins vs pre imported data performance
- Use joins in combination with indexes
- Add manifest
- Add service worker
- Support optional build steps
- Prevent >24 hour times
- Fix build
- Add favicon!
- Put feed info in static
- Fix cross compilation
- Update to rocket 5
- Add date of gtfs file
- Optimize grouping by doing group_concat on date and trip_id in sql query
- Add more clear back button
- Use diesel table aliasing once it lands... sql query can be done in one go, however diesel does not support it.
- Change "via" to "van" if "other" stop time is before selected stop time
- Set up ARM cross compilation docker build
- Add some usage metrics
- Minify css
- Add ad. Boooo!