

Dieses Repository enthält Demo -Code für meine YouTube -Programmier -Lernserie über Rost, React, TypeScript, Docker, Terraform und Kubernetes. Für dieses Projekt erstellen wir Foodi , ein Mahlzeitenprotokollierungswerkzeug.
Dieses Projekt soll als Beispiel dienen und kann als Kesselplatte für die Start eines eigenen Projekts verwendet werden. Sie können sich auch die Videos ansehen, um mehr darüber zu erfahren, wie es aufgebaut wurde (hauptsächlich Versuch und Irrtum, wie viele Dinge im Leben?).
Dieses Repo hat die folgenden Funktionen:
Die Videos finden Sie unten auf YouTube:
In der Serie bauen wir Foodi , ein webbasiertes Mahlzeitprotokoll-/Tracking-Tool.
Um das Rost -Backend zu bauen, müssen Sie den Rostnightly -Build mit Rustup installieren. Gehen Sie zuerst zu https://rustup.rs/ und installieren Sie Rustup. Dann installieren Sie Rost nächtlichem abends:
$ rustup default nightly
...Sobald Sie den nächtlichen Build installiert haben, können Sie das Backend erstellen.
$ cd foodi-backend
$ cargo build
... Führen Sie die Migrationsskripte mit sqlx aus, um das anfängliche Datenbankschema zu erstellen:
$ cargo install sqlx-cli
...
$ sqlx migrate run
...Zuletzt können Sie jetzt den Backend -Server ausführen:
$ cargo run Um die Frontend -Assets und Server zu erstellen und auszuführen, benötigen Sie eine aktuelle Version von Node.js und Garn. Mit Homebrew auf macOS können Sie es mit Homebrew installieren:
$ brew install yarn
...Installieren Sie die Frontend -Paketabhängigkeiten mit Garn:
$ cd foodi-frontend
$ yarn install
... Verwenden Sie parcel , um den Frontend Development Server auszuführen:
$ parcel index.html
... Angenommen, Sie haben Docker installiert, führen Sie den Build -Befehl von der obersten Ebene des Repo aus:
$ docker build . -t foodi:latest
...Führen Sie nach Abschluss des Builds den Container aus und kartieren Sie Port 80 vom Inneren des Containers auf außerhalb des Containers auf Port 8080 (auf Ihrem Host -Computer):
$ docker run -p 8080:80 foodi:latest
... ? Jetzt können Sie http://localhost:8080/ in Ihrem Browser öffnen und die App testen.