該項目的目標是編寫一個完整的Web應用程序,包括Rust中的後端和前端。
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後端容器。如果您想使用Docker而不是Podman,請在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 "確保安裝運行時依賴關係,然後啟動兩個容器。
> 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後端容器,而run-postgres僅啟動PostgreSQL容器。
如果後端和前端都在運行,則可以通過http://127.0.0.1:30080訪問Web應用程序。成功加載應用程序後,您應該看到這樣的身份驗證屏幕:

登錄屏幕將接受任何相等的用戶名和密碼,例如me (用戶名)和me (密碼)。目前尚無用戶身份驗證,但是非匹配組合將導致身份驗證故障。成功登錄後,您應該能夠查看應用程序的內容:

身份驗證應該持續存在,在手動頁面重新加載後甚至更好。通過註銷按鈕從應用程序中登錄也應按預期工作。
應用程序的完整控制流如下所示:

您想為這個項目做出貢獻嗎?哇,謝謝!因此,請僅分支它,然後給我發送拉動請求。