منصة توزيع B2B متكاملة

Ramtex

بنيت Laravel API ولوحة تشغيل React وتطبيق Flutter واحد بيتغيّر حسب الدور للعميل والمندوب والسائق، وبعدها رفعت السيستم ونزّلت التطبيق على App Store.

اختصارات تشغيل حسب الصلاحية للمبيعات والمخزون
لوحة المندوب للزيارات والعملاء والطلباتشاشة السائق لخط التوصيل اليومي
دوري
مسؤول عن المنتج كله
جهة الشغل
عميل فريلانس
الحالة دلوقتي
منشور
السنة
2026

المنتج

المنصة معمولة لمصنع منتجات ورقية، وبتجمع دورة الشغل كلها في مكان واحد. تطبيق Flutter واحد بيتغيّر حسب صلاحية المستخدم: العميل يتصفّح الكتالوج ويطلب، مندوب المبيعات يسجّل المحلات والزيارات والطلبات من الميدان، والسائق ينظّم خط التوصيل اليومي.

وراء التطبيق فيه لوحة تحكم بتدير المنتجات والعلامات التجارية والأسعار والمخزون، وكمان العملاء والمورّدين والموظفين والفواتير والعروض والمرتجعات والتحصيلات. أضفت خريطة لحركة المبيعات وتقارير تساعد الإدارة تتابع الإيراد والمرتجعات وأداء فريق البيع.

صممت التجربة على Figma، وبنيت Laravel REST API وتطبيق Flutter ولوحة التشغيل، وبعدها رفعت السيستم ونزّلت التطبيق على App Store.

اعمل Scan للكود بموبايلك

كود QR: Ramtex — تطبيق iOS على App Store
App Store

أهم القرارات

المشكلة، والقرار، والـ trade-off، والنتيجة.

  1. المشكلة

    الطلبات والزيارات والتوصيل والمخزون والحسابات كانوا محتاجين يبقوا في نظام تشغيل واحد مترابط بدل أدوات متفرقة.

  2. القرار

    Laravel API واحد هو المرجع الوحيد للداتا، وهو اللي ورا لوحة التشغيل (React) وتطبيق Flutter واحد بيتغيّر حسب الصلاحية، فالعميل والمندوب والسائق كل واحد ليه رحلته من نفس الكود.

  3. الـ trade-off

    تطبيق واحد يعني release واحد بس أتابعه، بس كل شاشة وكل endpoint لازم يحترموا الصلاحيات — أي لخبطة في الأدوار أو داتا ميدانية قديمة أو حركة مخزون وحسابات غلط كانت هتأثر على الشغل اليومي.

  4. النتيجة

    السيستم اترفع واتسلّم للعميل، والتطبيق منشور على App Store.

أهم اللي اتبنى

اللي بنيته.

بتخطط لمنتج شبه ده؟

قولّي محتاج يعمل إيه، ومين هيستخدمه، ولازم ينزل إمتى.