المنتدى الشخصي هو تطبيق ويب صغير لخادم العميل للتواصل. إنه شيء بين المنتدى وغرفة الدردشة، مما يسمح لك بإنشاء غرف متعددة، وبدء سلاسل محادثات متعددة في كل غرفة. يحاول التأكيد على خصوصية المستخدم وتقليل مقدار حركة المرور بين الخادم وعملائه.
تحقق من الصفحة التجريبية.
تتم استضافة هذا المشروع على جيثب.
ينقسم تطبيق الويب هذا إلى جزأين: الواجهة الخلفية والواجهة الأمامية. الخادم مكتوب بلغة 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، من خلال طلبات السحب.
قبل أن تفعل ذلك، يرجى قراءة دليل المساهمة.
تم إنشاء المنتدى الشخصي باستخدام العديد من المشاريع الأخرى مفتوحة المصدر. إذا كنت ترغب في المساهمة، فإن التعرف عليهم قد يجعل عملك أسهل. بعض هذه هي: