مرحباً بالجميع!
أود أن أشارككم Dexo، وهو عميل أصلي لنظام iOS لمنصات Discourse كنت أقوم ببنائه باستخدام UIKit و Swift.
لقطات الشاشة
الميزات
- إدارة منتديات متعددة — إضافة مثيلات Discourse متعددة والتبديل بينها وإزالتها في تطبيق واحد
- تصفح المواضيع — قوائم بأحدث وأهم المواضيع مع التمرير اللانهائي
- الفئات والوسوم — تصفح المواضيع حسب الفئة أو الوسم
- تفاصيل الموضوع — عرض كامل لمحتوى HTML مع عارض صور، وكتل شيفرة ذات تمييز نحوي، وأقسام قابلة للطي
- الرد — الرد على المواضيع أو على منشور محدد
- المصادقة الآمنة — يستخدم مسار مفتاح واجهة برمجة تطبيقات مستخدم Discourse مع تشفير RSA؛ يتم تخزين بيانات الاعتماد في سلسلة مفاتيح iOS
- المظهر — وضع النظام / الفاتح / الداكن
مُخطط له
- الإشعارات والرسائل الخاصة
- إنشاء المواضيع
مجموعة التقنية (Tech Stack)
| المكون | التفاصيل |
|---|---|
| اللغة | Swift 5 |
| إطار واجهة المستخدم | UIKit |
| الحد الأدنى المستهدف | iOS 17.0 |
| البنية | MVVM + @Observable |
| قاعدة البيانات | SQLite (GRDB) |
| الشبكات | Alamofire |
| تحميل الصور | SDWebImage |
كيف تعمل المصادقة
يتبع Dexo مواصفات مفتاح واجهة برمجة تطبيقات المستخدم في Discourse. يقوم بإنشاء زوج مفاتيح RSA على الجهاز، ويرسل المفتاح العام إلى مثيل Discourse الخاص بك للحصول على التفويض، ويخزّن مفتاح واجهة برمجة التطبيقات الناتج بأمان في سلسلة مفاتيح iOS. لا يتم تخزين أي كلمات مرور على الجهاز.
TestFlight
الشيفرة المصدرية
المشروع مفتوح المصدر بالكامل:
البناء من المصدر
يتطلب Xcode 16+ و mise:
make setup # تثبيت الأدوات، وجلب التبعيات، وإنشاء مشروع Xcode
ثم افتح dexo.xcodeproj، وحدد فريق التطوير الخاص بك، وقم بالتشغيل.
الملاحظات
هذا لا يزال قيد التقدم.
يسعدني جداً أن أسمع ملاحظاتكم، أو طلبات الميزات، أو تقارير الأخطاء.
لا تتردد في الرد هنا أو فتح مشكلة على GitHub.


