dioxus-letter-werefox-cafe/README.md

2.6 KiB

Dioxus (& Rocket) - letter.werefox.cafe

A re-implementation of the Valentine's Day site I made, but using Rust's Dioxus crate and Rocket crate.

Usage

This project works by using a Cargo workspace with two projects rust-letter-fe and rust-letter-be

Backend

You can develop the backend by simply running the project from the root directory

cargo run

Generally, any commands you'd use for any other standard Rust project will work for this.

Ex:

cargo build

Frontend

If you want to develop the Dioxus frontend, you'll need to do the following:

cargo install dioxus-cli
rustup target add wasm32-unknown-unknown

Then, you should be able to run the development server after moving into the rust-letter-fe directory.

(Linux example)

cd rust-letter-fe && dioxus serve

If you'd link to know about how to use dioxus-cli, you should run dioxus --help or reference the official documentation.*

* At the time of writing this, the link to the documentation is broken. If you'd like to see what I normally use to run the project, here's an example: dioxus serve --hot-reload --port [port #]

Running

Here are some ways you can run the project

Cargo

You can either do the standard run --release

cargo run --release

Or, referencing the Dockerfile, you can install and then run.

cargo install --path .
rust-letter

Docker

You can run this in a container using the included Dockerfile.

docker build -t rust-letter-werefox-cafe
docker run -p 3469 -d -t rust-letter-werefox-cafe

Or, run through docker compose.

docker compose up --build -d

Project Structure

.dioxus-letter-werefox-cafe
|- data             # text files that will be read to for data in the app
|- public           # save the assets you want include in your project.
|- rust-letter-be
|\
||- src             # source code folder for backend
|- rust-letter-fe
|\
||- src             # source code folder for frontend
||\
|||- utils          # save some public function
|||- components     # save some custom components
|- src              # code for running the workspace
|- templates        # put template files here, right now just using handlebar