このプロジェクトのターゲットは、Rust内のバックエンドとフロントエンドを含む完全なWebアプリケーションを作成することです。
Rust wasm Rust app
in browser <- REST -> HTTP Server -- actix-web
| |
Yew Diesel (ORM) -> PostgreSQLこのアプリケーションの完全な機能セットをサポートするには、次のビルド依存関係を満たす必要があります。
アプリは、フロントエンドとバックエンドで構成されています。ハッキングを開始するために、バックエンドをmake run-backendでテストできますが、フロントエンドはmake run-frontendでテストできます。必要に応じて、 Config.toml内でアプリケーション構成を適応できます。
これにより、UbuntuまたはDebianにビルド要件、RustおよびWasm-Packがインストールされます。
> sudo apt-get update
> sudo apt-get install -y pkg-config libssl-dev npm sudo wget
> wget https://sh.rustup.rs -O rustup-init
> sudo sh rustup-init -y
> cargo install wasm-pack
> sudo npm install -g rollupこれにより、プロジェクトが構築されます。
> git clone https://github.com/saschagrunert/webapp.rs.git
> cd webapp.rs
> make all make deployを使用してPodmanを使用して、PostgreSQLコンテナとRustバックエンドコンテナを起動します。 Podmanの代わりにDockerを使用する場合は、 Makefileの上部にCONTAINER_RUNTIME=dockerを設定します。必要に応じてConfig.tomlを編集して、バックエンドURLとpostgreSQL資格情報を設定します。
[ server ]
url = " http://127.0.0.1:30080 "
...
[ postgres ]
host = " 127.0.0.1 "
username = " username "
password = " "
database = " database "ランタイム依存関係がインストールされていることを確認し、2つのコンテナを起動します。
> sudo apt install -y postgresql-client
> cargo install diesel_cli --no-default-features --features " postgres "
> sudo make deployアプリケーションにhttp://127.0.0.1:30080でアクセスできるようになりました。開発中は、コンテナを個別に起動して、 make run-appを使用してRust Backendコンテナのみを起動し、 run-postgresてPostgreSQLコンテナのみを開始できます。
バックエンドとフロントエンドの両方が実行されている場合、 http://127.0.0.1:30080 30080のWebアプリケーションにアクセスできます。アプリケーションの読み込みが成功した後、このような認証画面が表示されるはずです。

ログイン画面は、 me (ユーザー名)やme (パスワード)など、等しいユーザー名とパスワードを受け入れます。現在、それ以上のユーザー認証はありませんが、一致しない組み合わせにより認証障害が発生します。正常にログインした後、アプリケーションのコンテンツを確認できるはずです。

認証は持続する必要があります。マニュアルページのリロード後はさらに優れています。ログアウトボタンを介してアプリケーションからログアウトすることも、意図したとおりに機能する必要があります。
アプリケーションの完全な制御フローは次のようになります:

あなたはこのプロジェクトに貢献したいですか?うわー、ありがとう!それで、それをフォークして、プルリクエストを送ってください。