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 上為該專案做出貢獻。
在此之前,請先閱讀貢獻指南。
個人論壇是使用許多其他開源專案建構的。如果您想做出貢獻,熟悉它們可能會讓您的工作變得更輕鬆。其中一些是: