ฟอรัมส่วนตัว เป็นเว็บแอปไคลเอนต์-เซิร์ฟเวอร์ขนาดเล็กสำหรับการสื่อสาร เป็นสิ่งที่อยู่ระหว่างฟอรัมและห้องสนทนา ช่วยให้คุณสร้างห้องได้หลายห้อง และเริ่มกระทู้ได้หลายชุดในแต่ละห้อง พยายามเน้นความเป็นส่วนตัวของผู้ใช้และลดปริมาณการรับส่งข้อมูลระหว่างเซิร์ฟเวอร์และไคลเอนต์
ตรวจสอบหน้าสาธิต
โปรเจ็กต์นี้โฮสต์บน GitHub
เว็บแอปนี้แบ่งออกเป็นสองส่วน: แบ็กเอนด์และส่วนหน้า เซิร์ฟเวอร์เขียนด้วยภาษา Rust และโต้ตอบกับฐานข้อมูล PostgreSQL ส่วนหน้าเขียนด้วย JavaScript, HTML และ CSS ธรรมดา เทมเพลต Tera ก็ใช้เช่นกัน
เซิร์ฟเวอร์แบ็กเอนด์ของฟอรัมส่วนตัวเป็นโปรแกรม Rust ที่สร้างด้วยเฟรมเวิร์ก Rocket หากต้องการรันเซิร์ฟเวอร์ในเครื่อง คุณต้องมีคอมไพเลอร์ 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 ฟรีได้ ซึ่งคล้ายกับหน้าสาธิต
คุณสามารถมีส่วนร่วมในโครงการนี้บน GitHub ผ่านทางคำขอดึง
ก่อนที่คุณจะดำเนินการดังกล่าว โปรดอ่านคู่มือการมีส่วนร่วม
ฟอรัมส่วนตัวถูกสร้างขึ้นโดยใช้โครงการโอเพ่นซอร์สอื่นๆ มากมาย หากคุณต้องการมีส่วนร่วม การทำความคุ้นเคยกับพวกเขาอาจทำให้งานของคุณง่ายขึ้น บางส่วนได้แก่: