A Django web application for georeferencing historical images.
Visit the site live, or check out our documentation.
To run yesterdays locally, you need:
If you would like to run background tasks, you will additionally need to run a RabbitMQ instance.
The recommended way to run your database is using podman and MapRVA/cnpg-postgis-pgvector.
podman run -d --replace --name georef-postgres -e POSTGRES_DB=georef -e POSTGRES_USER=django_user -e POSTGRES_PASSWORD=dev_password -p 5432:5432 ghcr.io/maprva/postgis-pgvector-local:latest
Yesterdays uses Celery with RabbitMQ to manage background processing tasks.
podman run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --replace rabbitmq:3-management
Setup the following env vars (see example.env for more):
export LOCAL_DEV=1
export ALLOW_HARDCODED_ADMIN=1
export DJANGO_DEBUG=1
export PG_DBNAME=georef
export PG_USER=django_user
export PG_PASSWORD=dev_password
export PG_HOST=localhost
export PG_PORT=5432
export PG_SSL_MODE=disable
export CELERY_BROKER_URL=amqp://guest:guest@localhost:5672//
Save those to my.env in the root of this repository, and then apply them by running source my.env
uv sync
uv run manage.py migrate
Vite bundles JavaScript and CSS assets for Yesterdays. It is important to run Vite in the background during development:
bun run dev
In a separate terminal (keep Vite running):
uv run manage.py runserver
The site should now be live at http://localhost:8000
uv run scripts/importers/library_of_virginia.py --area A
You can login to /admin with the username & password: admin