عبدالله محمدمهندس برمجيات أول
كل الأعمال

تجارة ذهب ومجوهرات، تجزئة وجملة

BTC

Appenza Studio · مهندس منتج

تطبيقان من قاعدة كود Flutter واحدة لأحد أكبر بيوت الذهب والمجوهرات في مصر: متجر للمستهلك وتطبيق طلبات جملة للتجّار، كلاهما فوق واجهة GraphQL نفسها.

تطبيقانتجزئة وجملة، كود واحد
حيّانApp Store و Google Play
GraphQLكتالوج واحد، شكلان

التحدي

الشركة نفسها تبيع هدية بـ 1,200 جنيه لزبون عابر وسبيكة 50 جرامًا لتاجر، بأسعار تتحرّك مع سوق الذهب. جمهوران، ومساران للشراء، وكتالوج واحد — وشركة لا تريد جهدين هندسيين.

ما كان عليه أن يحققه

  • متجر للأفراد وطلبات جملة للتجار من كتالوج واحد
  • أسعار تتحرك مع سوق الذهب
  • بلد التوصيل واللغة يُختاران في كل زيارة، فلا يتغيّر السعر عند الدفع
  • جهد هندسي واحد، لا اثنان

دوري

مهندس منتج على التطبيقين وقاعدة الكود المشتركة بينهما.

كيف بنيته

  • بناء متجر المستهلك — المجموعات والتصنيفات وحاسبة الادّخار والسلة وإتمام الشراء — مع اختيار دولة التوصيل واللغة في كل زيارة.
  • بناء تطبيق التجّار لطلبات الجملة من قاعدة الكود نفسها والكتالوج نفسه.
  • ربط التطبيقين بواجهة GraphQL بحيث يوجد السعر أو المنتج مرّة واحدة ويقرأه كلاهما.
  • إطلاق التطبيقين على App Store و Google Play.

القرارات، ولماذا

قاعدة كود واحدة، ومنتجان — لا تطبيق واحد بمفتاح

التجزئة والجملة تتشاركان الكتالوج ولا شيء غيره: أسعار مختلفة، وكميات مختلفة، وإتمام شراء مختلف. تطبيق واحد يفصل بينهما بنوع الحساب كان سيضع أسعار الجملة على بُعد خطأ برمجي واحد من شاشة مستهلك. إصداران من قاعدة واحدة يُبقيان المشترك مشتركًا والمسارين منفصلين فعلًا.

GraphQL، لأن التطبيقين يسألان الكتالوج نفسه أسئلة مختلفة

المتجر يريد منتجًا بصوره وسعر التجزئة؛ وتطبيق التاجر يريد المنتج نفسه بشرائح الأسعار والمخزون. مع REST يعني ذلك مجموعتَي نقاط نهاية أو جلبًا زائدًا في الطرفين. رسم بياني واحد يتيح لكل تطبيق أن يطلب الشكل الذي يعرضه.

الدولة واللغة اختيار في كل زيارة لا إعداد جهاز

دولة التوصيل تحدّد السعر والتوافر، والمشتري ليس دائمًا في البلد الذي يشحن إليه. جعلهما محدّدين صريحين في الأعلى — بدل استنتاجهما من لغة الجهاز — يمنع عرض سعر يتغيّر عند إتمام الشراء.

التقنيات

  • Flutter
  • GraphQL
  • Clean Architecture
  • تجارة إلكترونية

من داخل المنتج

كل تعليق يشرح ما تفعله الشاشة — وبعض هذه المنتجات واجهته بالعربية فقط.

الصفحة الرئيسية لمتجر BTC: لافتة لمجموعة الفضّة، ومحدّدان لدولة التوصيل (مصر، جنيه) واللغة (الإنجليزية)، ومفتاح بين الذهب والفضّة، وبطاقات تصنيفات للعملات والسبائك والقوالب والمشغولات، ولوحة "احسب مدّخراتك" تستقبل مبلغًا بالجنيه.
واجهة المتجر: المعدن والتصنيف في المقدّمة، ودولة التوصيل واللغة اختيار في كل زيارة — وحاسبة ادّخار، لأن الناس يشترون الذهب بالميزانية بقدر ما يشترونه بالمنتج.
شاشة مجموعات الهدايا في BTC: هدايا المواليد بـ 19 صنفًا وأعياد الميلاد بـ 153 صنفًا، وفوقها صفّ الأكثر مبيعًا يعرض علبة خشبية بـ 25 بطاقة بسعر 1,200 جنيه وسبيكة الكعبة 50 جرامًا بسعر 338,852.48 جنيهًا.
مجموعات مختارة فوق الأكثر مبيعًا. الأسعار تمتدّ من هدية بـ 1,200 جنيه إلى سبيكة بـ 338 ألفًا في القائمة نفسها، وهذا هو المدى الذي يجب أن تبقى الواجهة مقروءة عبره.
تصنيف العملات في BTC: شبكة من عمودين لعملات ذهبية — 40 و8 جرامات للمسجد النبوي، و8 و4 جرامات طراز الملاك — لكلٍّ صورة ووزن وسعر بالجنيه وزر إضافة إلى السلة.
شبكة تصنيف مسعّرة حتى القرش. أسعار الذهب تتحرّك، فالرقم على البطاقة قيمة حيّة لا محفوظة.

تبني شيئًا مشابهًا؟

أخبرني بما تريد إطلاقه وسأقول لك بصراحة إن كنت الشخص المناسب لبنائه.