이 프로젝트의 목표는 Rust 내의 백엔드 및 프론트 엔드를 포함한 완전한 웹 응용 프로그램을 작성하는 것입니다.
Rust wasm Rust app
in browser <- REST -> HTTP Server -- actix-web
| |
Yew Diesel (ORM) -> PostgreSQL이 응용 프로그램의 전체 기능 세트를 지원하려면 다음 빌드 종속성을 충족해야합니다.
앱은 프론트 엔드와 백엔드로 구성됩니다. 해킹을 시작하기 위해 make run-backend 통해 백엔드를 테스트 할 수있는 반면, Frontend는 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 Backend 컨테이너를 시작하십시오. Podman 대신 Docker를 사용하려면 Makefile 상단에 CONTAINER_RUNTIME=docker 설정하십시오. 백엔드 URL 및 PostgreSQL 자격 증명을 설정하는 데 필요한 경우 Config.toml 편집 :
[ 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 Backend 컨테이너 만 시작하고 PostgreSQL 컨테이너 만 시작하기 위해 run-postgres 컨테이너를 별도로 시작할 수 있습니다.
백엔드와 프론트 엔드가 모두 실행중인 경우 http://127.0.0.1:30080 의 웹 응용 프로그램을 방문 할 수 있습니다. 응용 프로그램을 성공적으로로드 한 후에는 다음과 같은 인증 화면이 표시됩니다.

로그인 화면은 me (사용자 이름) 및 me (비밀번호)와 같이 동일한 사용자 이름과 비밀번호를받습니다. 현재 더 이상 사용자 인증이 없지만 일치하지 않는 조합으로 인해 인증 실패가 발생합니다. 성공적으로 로그인 한 후에는 응용 프로그램의 내용을 볼 수 있어야합니다.

인증은 지속되어야하며 수동 페이지를 다시로드 한 후에도 더 좋습니다. 로그 아웃 버튼을 통해 응용 프로그램에서 로그인하는 것도 의도 한대로 작동해야합니다.
응용 프로그램의 완전한 제어 흐름은 다음과 같습니다.

이 프로젝트에 기여하고 싶습니까? 와우, 감사합니다! 그러니 포기하고 풀 요청을 보내주세요.