O fórum pessoal é um pequeno aplicativo da web cliente-servidor para comunicação. É algo entre um fórum e uma sala de chat, permitindo criar várias salas e iniciar vários tópicos em cada sala. Tenta enfatizar a privacidade do usuário e reduzir a quantidade de tráfego entre o servidor e seus clientes.
Confira a página de demonstração.
Este projeto está hospedado no GitHub.
Este aplicativo web é dividido em duas partes: um backend e um frontend. O servidor é escrito em Rust e interage com um banco de dados PostgreSQL. O frontend é escrito em JavaScript, HTML e CSS simples. Modelos Tera também são usados.
O servidor backend do fórum pessoal é um programa Rust construído com a estrutura Rocket. Para executar o servidor localmente, você precisa do compilador Rust (uma versão noturna é recomendada) e do Cargo. Você também precisa criar um banco de dados PostgreSQL e passar sua URL como uma variável de ambiente ao executar o servidor.
# Create a new PostgreSQL user and database.
sudo - u postgres psql
create database YOUR_DB ;
# It's easier if you choose the username you are logged in as.
create user YOUR_USER with encrypted password ' YOUR_PASSWORD ' ;
grant all privileges on database YOUR_DB to YOUR_USER;
# Use the nightly version of the Rust compiler.
rustup override set nightly
# Start the server.
# Your database URL probably looks like: postgres://YOUR_USER:YOUR_PASSWORD@localhost/YOUR_DB
ROCKET_DATABASES={db={url= " YOUR_DB_URL " }} cargo run
Nota : Você pode executar o servidor com o sinalizador
--release
para ativar algumas otimizações. Você NÃO deve usar esse sinalizador ao trabalhar no projeto, pois recursos como cache de arquivos estáticos podem dificultar o desenvolvimento.
Você pode facilitar a execução do servidor incluindo a URL do banco de dados em um arquivo chamado Rocket.toml
, assim:
[global.databases]
db = { url = "YOUR_DB_URL" }
Isso permite que você execute o servidor apenas com cargo run
.
Este guia pode ajudá-lo a implantar o aplicativo web em uma instância gratuita do Fly.io, semelhante à página de demonstração.
Você está convidado a contribuir com este projeto no GitHub, por meio de pull requests.
Antes de fazer isso, leia o guia de contribuição.
O fórum pessoal foi construído usando muitos outros projetos de código aberto. Se você quiser contribuir, familiarizar-se com eles pode facilitar seu trabalho. Alguns deles são: