49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# yore
|
|
|
|
## Development
|
|
|
|
`flake.nix` defines a development shell that has everything you'll need. To enter, run
|
|
|
|
```
|
|
nix develop
|
|
```
|
|
|
|
The rest of this section assumes you're in the dev shell.
|
|
|
|
### Running Postgres
|
|
|
|
`scripts/with-db $COMMAND` will create a Postgres cluster in a temporary directory with the credentials `user=yore-test dbname=yore-test port=5433`, start the Postgres server, apply migrations using `dbmate`, run `$COMMAND` and then stop the Postgres server.
|
|
On Linux, you need to have write permissions vor `/var/run/postgresql` to run it.
|
|
You can use this to run the tests in an entirely fresh database, e.g.:
|
|
|
|
```
|
|
scripts/with-db cabal test
|
|
```
|
|
|
|
You can also use it to run a database for development by choosing a `$COMMAND` that runs until you quit it, e.g.
|
|
|
|
```
|
|
BASE_DIR=./pgdata scripts/with-db psql "dbname=yore-test port=5433 user=yore-test"
|
|
# cabal repl with env vars set
|
|
BASE_DIR=./pgdata scripts/with-db scripts/dev
|
|
```
|
|
|
|
By setting `$BASE_DIR` you can persist the database for later runs.
|
|
|
|
## Inspo
|
|
|
|
- https://fz.ub.uni-freiburg.de/show/fz.cgi?pKuerzel=FZ
|
|
- It seems like the jpgs are generated on demand when the corresponding overview page is hit
|
|
- So we're gonna do the PDFs after all
|
|
- Let's hope we can deduce the PDF path from the link
|
|
- And also that the PDFs aren't generated on demand as well.
|
|
- They are actually
|
|
|
|
## TODO
|
|
|
|
- CI
|
|
- Docker container (in flake)
|
|
- try fourmolu
|
|
- Test leap second handling in the `time` package
|
|
- use queue to sync logging of indexer and main thread
|