Target proyek ini adalah untuk menulis aplikasi web lengkap termasuk backend dan frontend di dalam karat.
Rust wasm Rust app
in browser <- REST -> HTTP Server -- actix-web
| |
Yew Diesel (ORM) -> PostgreSQLKetergantungan build berikut perlu dipenuhi untuk mendukung set fitur lengkap dari aplikasi ini:
Aplikasi ini terdiri dari frontend dan backend. Untuk memulai dengan peretasan, backend dapat diuji melalui make run-backend , sedangkan frontend dapat diuji dengan make run-frontend . Anda dapat menyesuaikan konfigurasi aplikasi dalam Config.toml jika diperlukan.
Ini memasang persyaratan build, karat dan pack wass, di Ubuntu atau 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 rollupIni membangun proyek.
> git clone https://github.com/saschagrunert/webapp.rs.git
> cd webapp.rs
> make all make deploy menggunakan Podman untuk memulai wadah PostgreSQL dan wadah Rust Backend. Jika Anda ingin menggunakan Docker, bukan Podman, atur CONTAINER_RUNTIME=docker di bagian atas Makefile . Edit Config.toml jika diperlukan untuk mengatur kredensial URL dan postgresql backend:
[ server ]
url = " http://127.0.0.1:30080 "
...
[ postgres ]
host = " 127.0.0.1 "
username = " username "
password = " "
database = " database "Pastikan dependensi runtime dipasang, dan kemudian mulai dua kontainer.
> sudo apt install -y postgresql-client
> cargo install diesel_cli --no-default-features --features " postgres "
> sudo make deploy Aplikasi sekarang harus diakses di http://127.0.0.1:30080 . Selama pengembangan, Anda dapat memulai wadah secara terpisah, menggunakan make run-app untuk memulai hanya wadah Rust Backend, dan run-postgres untuk memulai hanya wadah PostgreSQL.
Jika backend dan frontend berjalan, Anda dapat mengunjungi aplikasi web di http://127.0.0.1:30080 . Setelah pemuatan aplikasi yang berhasil Anda akan melihat layar otentikasi seperti ini:

Layar login akan menerima nama pengguna dan kata sandi yang sama, seperti me (nama pengguna) dan me (kata sandi). Saat ini belum ada otentikasi pengguna lebih lanjut, tetapi kombinasi yang tidak cocok akan menghasilkan kegagalan otentikasi. Setelah login berhasil, Anda harus dapat melihat konten aplikasi:

Otentikasi harus bertahan, bahkan lebih baik setelah halaman ulang halaman manual. Logging keluar dari aplikasi melalui tombol logout juga harus berfungsi sebagaimana dimaksud.
Aliran kontrol lengkap aplikasi terlihat seperti ini:

Anda ingin berkontribusi pada proyek ini? Wow, terima kasih! Jadi tolong beri saja dan kirimkan saya permintaan tarik.