أونلاينمن 2025
Web · CMS
المعمارية والباك إند Go والـ CMS والموقع
Solovit CMS
الموقع الرسمي للبراند والـ builder اللي وراه: المالك بيعدّل الصفحات من بلوكات، يدوس Publish، والموقع الـ static السريع بيبني نفسه من جديد في حوالي دقيقة.
نوع بلوك، كل واحد بأشكال
اختبار Go
كونتينر: الموقع والـ API والأدمن
من Publish لحد ما يبقى live

01/المشكلة
الموقع بدأ صفحات static مع API صغير بـ PHP و MySQL للأسعار. كل صفحة منتج كانت بتتضاف في الكود، فتغيير جملة كان معناه تعديل كود ونشر من جديد.
الهدف: المالك يبني ويعدّل صفحات المنتجات بإيده، بالعربي والإنجليزي، من غير ما الموقع يبطأ ولا أي لينك شغال يبوظ.
02/القيود
- 01يفضل بسرعة الموقع الـ static، والزائر عمره ما يستنى قاعدة بيانات.
- 02روابط /api/*.php القديمة تفضل ترد بعد ما سبنا PHP.
- 03كل بلوك يشتغل يمين وشمال، فاتح وغامق، والمحتوى طويل أو فاضي.
- 04يشتغل كخدمة صغيرة واحدة على سيرفر مشترك.
03/المعمارية
الزوار
- Static site · Next.js 14 export
- ar / en · light / dark
المالك
- Visual builder
- pages · media · analytics
- Publish
خدمة Go
- static server
- API + legacy .php aliases
- rebuild queue
- sessions · CSRF
البيانات
- SQLite
- uploads volume
- built site
04/القرارات
إعادة البناء عند النشر، والتقديم static
المحتوى في SQLite، بس الزائر بياخد HTML مبني جاهز. لوحة التحكم بتقول «بيتبني» وبعدين «التعديلات بقت live»، والـ HTML متقدّم من غير كاش فمحدش محتاج hard refresh.
التمن: التعديل بياخد حوالي دقيقة عشان يظهر مش ثانية. أما قفل صفحة فبيحصل فورًا: بترجع 404 من غير إعادة بناء.
شيلنا PHP من غير ما لينك يبوظ
الـ API بتاع PHP و MySQL اتكتب من جديد بـ Go على SQLite endpoint ورا التانية، وخدمة Go لسه بترد على مسارات الـ .php القديمة. وفيه أمر migrate بيحمّل الـ dump القديم من MySQL، فالأسعار والمحتوى ومستخدمين الأدمن اتنقلوا زي ما هم.
نظام بلوكات واحد لمنتجات كتير
21 نوع بلوك (hero ومميزات وجدول المكونات وأسئلة شائعة...) بأشكال وحركة دخول ولون مميز لكل منتج. صفحة المنتج بقت داتا، فالمنتج الجديد بيتبني من لوحة التحكم مش من الكود.
05/الشاشات


06/الأدوات
GoSQLiteNext.js 14ReactTypeScriptTailwind CSSDockerCaddyCloudflare