El foro personal es una pequeña aplicación web cliente-servidor para comunicación. Es algo entre un foro y una sala de chat, lo que le permite crear múltiples salas e iniciar múltiples hilos en cada sala. Intenta enfatizar la privacidad del usuario y reducir la cantidad de tráfico entre el servidor y sus clientes.
Consulte la página de demostración.
Este proyecto está alojado en GitHub.
Esta aplicación web se divide en dos partes: un backend y un frontend. El servidor está escrito en Rust e interactúa con una base de datos PostgreSQL. La interfaz está escrita en JavaScript, HTML y CSS sin formato. También se utilizan plantillas de Tera.
El servidor backend del foro personal es un programa Rust creado con el marco Rocket. Para ejecutar el servidor localmente, necesita el compilador Rust (se recomienda una versión nocturna) y Cargo. También necesita crear una base de datos PostgreSQL y pasar su URL como variable de entorno al ejecutar el 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 : puede ejecutar el servidor con el indicador
--release
para activar algunas optimizaciones. NO debe utilizar esta opción cuando trabaje en el proyecto, ya que características como el almacenamiento en caché de archivos estáticos podrían dificultar el desarrollo.
Puede facilitar la ejecución del servidor incluyendo la URL de la base de datos en un archivo llamado Rocket.toml
, como este:
[global.databases]
db = { url = "YOUR_DB_URL" }
Esto le permite ejecutar el servidor con solo cargo run
.
Esta guía puede ayudarle a implementar la aplicación web en una instancia gratuita de Fly.io, similar a la página de demostración.
Le invitamos a contribuir a este proyecto en GitHub, a través de solicitudes de extracción.
Antes de hacer eso, lea la guía de contribución.
El foro personal se creó utilizando muchos otros proyectos de código abierto. Si desea contribuir, familiarizarse con ellos podría facilitar su trabajo. Algunos de estos son: