Ziel dieses Projekts ist es, eine vollständige Webanwendung mit Backend und Frontend in Rost zu schreiben.
Rust wasm Rust app
in browser <- REST -> HTTP Server -- actix-web
| |
Yew Diesel (ORM) -> PostgreSQLDie folgenden Build -Abhängigkeiten müssen erfüllt sein, um den vollständigen Funktionssatz dieser Anwendung zu unterstützen:
Die App besteht aus einem Frontend und einem Backend. Um mit Hacking zu beginnen, kann das Backend über make run-backend getestet werden, während der Frontend mit make run-frontend getestet werden kann. Sie können die Anwendungskonfiguration in Config.toml bei Bedarf anpassen.
Dies installiert Build-Anforderungen, Rost und Wasm-Pack auf Ubuntu oder Debian.
> 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 rollupDies baut das Projekt auf.
> git clone https://github.com/saschagrunert/webapp.rs.git
> cd webapp.rs
> make all make deploy verwendet Podman, um einen PostgreSQL -Container und den Rust Backend Container zu starten. Wenn Sie Docker anstelle von Podman verwenden möchten, setzen Sie CONTAINER_RUNTIME=docker oben in Makefile . Bearbeiten Sie Config.toml bei Bedarf, um die Backend -URL- und PostgreSQL -Anmeldeinformationen festzulegen:
[ server ]
url = " http://127.0.0.1:30080 "
...
[ postgres ]
host = " 127.0.0.1 "
username = " username "
password = " "
database = " database "Stellen Sie sicher, dass die Laufzeitabhängigkeiten installiert sind, und starten Sie dann die beiden Container.
> sudo apt install -y postgresql-client
> cargo install diesel_cli --no-default-features --features " postgres "
> sudo make deploy Die Anwendung sollte nun unter http://127.0.0.1:30080 zugänglich sein. Während der Entwicklung können Sie die Container separat starten, indem Sie mit make run-app nur mit dem Rust-Backend-Container und run-postgres starten, um nur den Postgresql-Container zu starten.
Wenn sowohl das Backend als auch Frontend ausgeführt werden, können Sie die Webanwendung unter http://127.0.0.1:30080 besuchen. Nach dem erfolgreichen Laden der Anwendung sollten Sie einen solchen Authentifizierungsbildschirm sehen:

Der Anmeldebildschirm akzeptiert jeden Benutzernamen und Passwort, das gleich sind, wie z. B. me (Benutzername) und me (Passwort). Derzeit gibt es noch keine weitere Benutzerauthentifizierung, aber die Nichtübereinstimmungskombination führt zu einem Authentifizierungsfehler. Nach der erfolgreichen Anmeldung sollten Sie den Inhalt der Anwendung sehen können:

Die Authentifizierung sollte bestehen bleiben, sie ist nach einer manuellen Seite nach Nachladen noch besser. Die Anmeldung der Anwendung über die Abmeldetaste sollte ebenfalls wie beabsichtigt funktionieren.
Der vollständige Steuerfluss der Anwendung sieht folgt aus:

Sie möchten zu diesem Projekt beitragen? Wow, danke! Geben Sie es also einfach und senden Sie mir eine Pull -Anfrage.