A Proper Rideboard.
- Blazingly Fast API in Rust
- Dynamic Vue Frontend
- PostgreSQL Database
- Rust (I use 1.81)
- npm
- Ideally docker to spin up a database to test on
cd $PROJECT_ROOT
docker run -it --rm -p 5432:5432 -v ./src/migrations:/docker-entrypoint-initdb.d -e POSTGRES_USER=rideboard -e POSTGRES_DATABASE=rideboard -e POSTGRES_PASSWORD=supersecurepassword postgres
-
Copy
.env.example
as.env
-
Fill in data fields.
- For
DATABASE_URL
, format ispostgresql://USERNAME:PASSWORD@HOST/DATABASE
- Contact an RTP for CSH Auth Credentials.
- Create a local set of keys for the Google Auth. See this guide for guidance.
REDIRECT_DOMAIN
is the full protocol and domain for your project. Exhttp://localhost:8080
,https://rideboard-v2.cs.house
.
-
Build Frontend.
cd src/frontend; npm run build
-
Build server binary.
cargo build
-
Run!
./target/debug/rideboard-v2
In order to develop the frontend without repeatedly recompiling the backend binary, the vite development server has been configured to proxy to localhost:8080
for all API requests.
You can access the frontend and make changes at the port shown in the vite CLI. Please note that logging in will redirect you back to port 8080, so make sure to change it back when you log in.