API for the Bazaar Realm Skyrim mod
Go to file
2020-08-01 02:18:31 -04:00
src Add authentication to more handlers 2020-08-01 02:18:31 -04:00
test_data Add authentication to more handlers 2020-08-01 02:18:31 -04:00
.gitignore Update setup instructions 2020-07-23 00:12:56 -04:00
Cargo.lock Add caching with LRU cache under mutex 2020-08-01 00:25:04 -04:00
Cargo.toml Add caching with LRU cache under mutex 2020-08-01 00:25:04 -04:00
devserver.sh Update setup instructions 2020-07-23 00:12:56 -04:00
README.md Fix readme 2020-08-01 00:44:05 -04:00

Development Setup

  1. Install and run postgres.
  2. Create postgres user and database (and add uuid extension while you're there ):
createuser shopkeeper
createdb shopkeeper
sudo -u postgres -i psql
postgres=# ALTER DATABASE shopkeeper OWNER TO shopkeeper;
\password shopkeeper
postgres=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
  1. Save password somewhere safe and then and add a .env file to the project directory with the contents:
DATABASE_URL=postgresql://shopkeeper:<password>@localhost/shopkeeper
RUST_LOG="shopkeeper=debug"
HOST="http://localhost:3030"
  1. Create a new file at src/db/refinery.toml with the contents:
[main]
db_type = "Postgres"
db_host = "localhost"
db_port = "5432"
db_user = "shopkeeper"
db_pass = "<database-password-here>"
db_name = "shopkeeper"
  1. Run cargo run -- -m which will compile the app in debug mode and run the database migrations.
  2. Run ./devserver.sh to run the dev server (by default it listens at 127.0.0.1:3030).

Todo

  • Add update endpoints.
  • Add endpoints for the other models.
  • Make self-contained docker container that can run the app without any setup.
  • Add rate-limiting per IP address. The tower crate has a service that might be useful for this.