Client to retrieve GeoJSON data from Google Maps API
Postgres && Redis
/frontend
SPA written with Sveltekit that renders a filterable map of venues
Flowbite/Tailwind-based CSS
Leaflet map library
/addr_to_geo
DEPRECATED: Node script that pulls contacts from the database and adds a latitude/longitude so they can be rendered on a map.
Can be used to bulk-update Contacts with lat/lng
Getting started
Postgres Dockerfile provided as a convenience but not necessary. Example .env files use variables from image. Start the Docker service: docker compose up
Run database migrations under /server/migrations with sqlx migrate run
Start the server (port 8000 default): cargo run
Uncomment lines to create TestUser in server/src/startup.rs first time running app
OR signup and change status column in users to confirmed
Comment out send_confirmation_email in server/src/routes/auth/signup.rs if email client not configured locally.
Start the SPA: npm run dev
For frontend/UI development without setting up a Rust backend, checkout FRONTEND.md
Testing
cargo test || cargo test -- --nocapture
main.rs tests the different features. You may need to run one group of tests at a time.
OR run serial RUST_TEST_THREADS=1
OR or increase ulimit
Temporary databases are created with hashes for names. If you need to clean them up run psql -Atqc "SELECT 'DROP DATABASE ' || quote_ident(datname) || ';' FROM pg_database WHERE datname like '%7%';" | psql replacing 7 with any number that's not in the name of one of your existing databases