عن المشروع
يعمل Void Presence Web كمركز رئيسي لمنظومة Void Presence، وهو مدير Discord Rich Presence لنظام Windows. بُني التطبيق باستخدام Next.js 16 (App Router) وReact 19 وTypeScript وSCSS، ويوفر واجهة مصقولة للمستخدمين النهائيين لاكتشاف وإدارة تخصيصات الحضور دون كتابة تعليمات برمجية.
تشمل الميزات الرئيسية الموجهة للمستخدمين:
- متصفح إعدادات مع بحث وتصفية وبطاقات معاينة حية وتنزيل JSON بنقرة واحدة أو نسخ إلى الحافظة
- متصفح حالات لدورات حالة Discord المخصصة مع معاينات
- سجل إضافات يتيح التثبيت بنقرة واحدة عبر الروابط العميقة (`voidpresence://install-plugin?url=…`)
- وثائق كاملة لتطوير الإضافات في `/plugins/docs`
- صفحات ملفات تعريف تعرض الإعدادات المرفوعة ومعرّفات المؤلفين للمزامنة السحابية
- مصادقة OAuth عبر Discord وSteam باستخدام next-auth v5
- واجهة REST API عامة (الإصداران v0 وv1) للإعدادات والمؤلفين والتحليلات
- صفحة جدول الإصدارات مع مخططات إحصائيات التنزيل مدعومة بـ Recharts
تركز مجموعة التقنيات على ممارسات الواجهة الحديثة: تُستخدم Firebase لتخزين الإعدادات وملفات التعريف، وUpstash Redis لتخزين الجلسات، وVercel للاستضافة والتحليلات، مع نظام تصميم SCSS مخصص دون إطار عمل لواجهة المستخدم. يقوم سكربت مؤتمت لتوليد الـ manifest (`npm run build:manifest`) بتجميع بيانات تعريف الإضافات من دليل `plugins/` في ملف JSON قابل للاستخدام.
من الناحية الأمنية، تخزن المنصة بيانات إعداد الحضور فقط (أزواج الأزرار، دورات الحالة/الصورة، العناوين، الأوصاف، الطوابع الزمنية، عدادات التنزيل، وأسماء عرض المؤلفين) وتتجنب صراحةً تخزين رموز Discord المميزة، أو كلمات المرور، أو مفاتيح OAuth، أو الرسائل الشخصية، أو بيانات النظام.
يمكن للمطورين تشغيل المشروع محليًا باستخدام `npm install && npm run dev`. تعيد خط أنابيب البناء (`npm run build`) توليد manifest الإضافات قبل بناء إنتاج Next.js. تتم تهيئة متغيرات البيئة الخاصة بـ Firebase وRedis وNextAuth وSteam عبر `.env.local`.
يتبع نشر الإضافات سير عمل طلب سحب (PR) بسيطًا: أضف ملف `.js` أو مجلدًا ضمن `plugins/` مع البيانات الوصفية المطلوبة (`author` و`description` و`tags` و`preview.slides`)، ثم افتح طلب سحب، وعند الدمج تتم إعادة بناء manifest تلقائيًا، مما يُظهر الإضافة في `/plugins` مع زر تثبيت.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.