personal_forum
v0.3.0
个人论坛是一个用于通信的小型客户端-服务器 Web 应用程序。它介于论坛和聊天室之间,允许您创建多个房间,并在每个房间中启动多个线程。它试图强调用户隐私并减少服务器与其客户端之间的流量。
查看演示页面。
该项目托管在 GitHub 上。
该网络应用程序分为两部分:后端和前端。服务器是用 Rust 编写的,它与 PostgreSQL 数据库交互。前端是用纯 JavaScript、HTML 和 CSS 编写的。还使用 Tera 模板。
个人论坛的后端服务器是使用Rocket框架构建的Rust程序。要在本地运行服务器,您需要 Rust 编译器(建议使用夜间版本)和 Cargo。您还需要创建一个 PostgreSQL 数据库,并在运行服务器时将其 URL 作为环境变量传递。
# 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
注意:您可以使用
--release
标志运行服务器来激活一些优化。在处理项目时不应使用此标志,因为静态文件缓存等功能可能会使开发变得更加困难。
您可以通过将数据库 URL 包含在名为Rocket.toml
的文件中来简化服务器的运行,如下所示:
[global.databases]
db = { url = "YOUR_DB_URL" }
这允许您仅使用cargo run
来运行服务器。
本指南可以帮助您在免费的 Fly.io 实例上部署 Web 应用程序,类似于演示页面。
欢迎您通过拉取请求在 GitHub 上为该项目做出贡献。
在此之前,请阅读贡献指南。
个人论坛是使用许多其他开源项目构建的。如果您想做出贡献,熟悉它们可能会让您的工作变得更轻松。其中一些是: