'Tis all oxidized!
Family of crates for a cloud-native microservices stack written mainly in Rust featuring
- A backend made with axum with JWT authentication and a dockerized database
- A frontend made with Deno's Fresh
- A collection of gRPC services made with Tonic
The app uses the dotenv
crate to read env vars and expects a DATABASE_URL
, DATABASE_PASSWORD
and APP_SECRET
to be set. Consider using a .env file in the root for this.
This project uses the awesome just command runner. Run just
in the root folder to see the available commands, and just -s COMMAND
to see what a command does.
See below for setting up for the first time.
In root dir:
just run
In another terminal:
just front
And yet another terminal:
just grpc
Some of the commands can be chained and applied to a specific crate, e.g.:
just watch test grpc
Will cargo-watch
running nextest
in the alloxid-grpc
crate.
With docker
and sqlx-cli
being installed, run
just init
to set up the database inside a Docker container.
For a full reset (this will wipe the database!) run:
just clean
Enter the container and have a look at the database (-it - interactive tty):
docker exec -it alloxid_db bash
psql -U postgres -d alloxid