O Target deste projeto é escrever um aplicativo completo da Web, incluindo back -end e front -end dentro da ferrugem.
Rust wasm Rust app
in browser <- REST -> HTTP Server -- actix-web
| |
Yew Diesel (ORM) -> PostgreSQLAs seguintes dependências de construção precisam ser cumpridas para apoiar o conjunto completo de recursos deste aplicativo:
O aplicativo consiste em um front -end e um back -end. Para começar com hackers, o back-end pode ser testado via make run-backend , enquanto o front-end pode ser testado com make run-frontend . Você pode adaptar a configuração do aplicativo no Config.toml , se necessário.
Isso instala requisitos de construção, Rust e Wasm-Pack, no Ubuntu ou 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 rollupIsso constrói o projeto.
> git clone https://github.com/saschagrunert/webapp.rs.git
> cd webapp.rs
> make all make deploy usa o Podman para iniciar um contêiner PostgreSQL e o contêiner de back -end da ferrugem. Se você deseja usar o Docker em vez do Podman, defina CONTAINER_RUNTIME=docker no topo do Makefile . Editar Config.toml , se necessário para definir as credenciais de URL de back -end e PostgreSQL:
[ server ]
url = " http://127.0.0.1:30080 "
...
[ postgres ]
host = " 127.0.0.1 "
username = " username "
password = " "
database = " database "Verifique se as dependências de tempo de execução estão instaladas e inicie os dois contêineres.
> sudo apt install -y postgresql-client
> cargo install diesel_cli --no-default-features --features " postgres "
> sudo make deploy O aplicativo agora deve estar acessível em http://127.0.0.1:30080 . Durante o desenvolvimento, você pode iniciar os contêineres separadamente, usando make run-app para iniciar apenas o contêiner de back-end da ferrugem e run-postgres para iniciar apenas o contêiner PostgreSQL.
Se o back -end e o frontend estiverem em execução, você poderá visitar o aplicativo da web em http://127.0.0.1:30080 . Após o carregamento bem -sucedido do aplicativo, você deve ver uma tela de autenticação como esta:

A tela de login aceitará qualquer nome de usuário e senha que sejam iguais, como me (nome de usuário) e me (senha). Atualmente, ainda não há autenticação adicional do usuário, mas a combinação não correspondente resultará em uma falha de autenticação. Após o login com sucesso, você poderá ver o conteúdo do aplicativo:

A autenticação deve persistir, é ainda melhor após uma página manual recarregar. O registro do aplicativo através do botão Logout também deve funcionar conforme o pretendido.
O fluxo de controle completo do aplicativo se parece com o seguinte:

Você quer contribuir para este projeto? Uau, obrigado! Então, por favor, apenas bifurque -o e me envie um pedido de tração.