Megastore
منصّة تجارة إلكترونية ثلاثية اللغة ومتعدّدة العملات: خمسة تطبيقات خلف طبقة واحدة من العقود المشتركة، إضافةً إلى تطبيق Flutter.
- تطبيقات في المستودع الموحّد
- 5
- حزم مشتركة
- 6
- لغات، العربية أولاً
- 3
- عملات
- 5
- عميل
- خدمة
- مخزن بيانات
- خارجي
واجهات برمجية، وتطبيقات ويب، ولوحات تحكّم، وتطبيقات جوّال، ومعالِجات مهامّ خلفية، ومسارات معالجة وسائط، والبنية التحتية التي تُشغّلها — تُصمَّم وتُبنى كنظامٍ واحد، لا كقطعٍ جُمّعت معاً.
ستّ سنوات من هذا العمل. معظمها في التجارة الإلكترونية، لأنّ العمل كان هناك — لكنّ هذه التقنيات لا يعنيها إلى أين تُوجَّه. متجر إلكتروني، أو أداة داخلية، أو نظام حجوزات، أو مسار معالجة فيديو: الطبقات نفسها، والمسائل نفسها، والمهندس نفسه.
متاح لوظائف هندسة برمجيات متكاملة — عن بُعد أو من إسطنبول
واجهات الويب
Next.jsReact 19
تطبيقات الجوّال
FlutterBloc
العقود المشتركة
TypeScriptZod
واجهة البرمجة والمهامّ
NestJSPrisma
مخازن البيانات
PostgreSQLRedis
البنية التحتية
DockerTraefik
دراسات الحالة أدناه كلّها في التجارة الإلكترونية، ولذلك تجد هنا الصورة الصادقة للنطاق. كلّ سطر يشير إلى شيء بُني وسُلّم فعلاً، لا إلى شيء أنا مستعدّ لتجربته.
متاجر، ومواقع تعريفية، وبوّابات، وتطبيقات متعدّدة المستأجرين. مكوّنات تعمل على الخادم، وبثّ تدريجي للصفحة، وتعريب حقيقي بدعم الاتجاهين، ومؤشّرات الأداء الأساسية تُعامَل كشرطٍ لا كتقرير.
واجهات REST بعقود مُحكمة الأنواع، ومصادقة تفصل الهويّات تشفيرياً بدل عمود دور، وطوابير، ومهامّ مجدولة، وويب-هوكس، وتكاملات مع أطراف خارجية تُعلن فشلها بوضوح.
تطبيقات Flutter على iOS وأندرويد، منشورة على متجر Play — عمل دون اتصال، وإشعارات، وروابط عميقة، وحزم دفع، والواجهة البرمجية خلفها كتبها الشخص نفسه.
لوحات إدارة، وأنظمة مستودعات وجرد، ولوحات متابعة تشغيلية، ومكاتب خلفية بصلاحيات مقيّدة بالأدوار. برمجيات غير لامعة، لكنّها تحدّد ما إذا كان العمل يسير فعلاً.
معالجة الصور والفيديو، وتحويل HLS، وتوليد المصغّرات، وإزالة الخلفيات، وتخزين كائني برفعٍ موقّع مسبقاً، وبحث مبنيّ على Postgres قبل اللجوء إلى عنقود بحث مستقلّ.
حاويات، ووكلاء عكسيّون، وشهادات TLS، وتكامل مستمرّ، ومستودعات موحّدة، وأسرار، ونسخ احتياطي، ومراقبة — مستضافة ذاتياً على خادم افتراضي أو على عنقود Kubernetes بنيتُه بنفسي وأستطيع شرحه سطراً سطراً.
كلّ نظام من هذه صمّمتُه وكتبتُه بنفسي من طرف إلى طرف. وحيث يكون المستودع خاصاً، وصفتُ التصميم بدل عرض الشيفرة — فالمنطق هو الجزء الذي ينتقل معك على أيّ حال.
منصّة تجارة إلكترونية ثلاثية اللغة ومتعدّدة العملات: خمسة تطبيقات خلف طبقة واحدة من العقود المشتركة، إضافةً إلى تطبيق Flutter.
أربعة تطبيقات Flutter وعميل ويب يتشاركون واجهة NestJS خلفية واحدة، تغطّي مبيعات الشركات واستقبال الصيانة والمرتجعات.
تطبيق تجارة إطارات بين الشركات للموزّعين، منشور على App Store وGoogle Play.
تطبيق تجارة إلكترونية متعدّد المنصّات لمتجر سعودي، مع دمج كامل لبوّابتَي دفع بالتقسيط وبالبطاقة.
أصغر حجماً، لكنها حقيقية. أدرجتها من دون دراسة حالة كي تحتفظ الأعمال الأربعة أعلاه بثقلها.
تطبيق تحصيل ديون لمندوبي الميدان — البنية نفسها المستخدمة في Netlastik بربع حجمها، وهو ما جعل بناءه سريعاً. منشور على Google Play.
منتج Next.js متكامل لعلامة TELETAB — Prisma فوق PostgreSQL، وbetter-auth، وتخزين كائنات بـ MinIO، وبريد معاملات بـ React Email، وجداول تعمل من الخادم.
موقع تسويقي ثلاثي اللغة بطبقة حركة مدروسة. بُني ليُحمَّل بسرعة على اتصالات الهاتف ويُقرأ بشكل صحيح بالعربية.
مستودع أحادي بـ Turborepo يجمع موقعاً عامّاً ولوحة تشغيل فوق مكتبة مكوّنات وحزمة قاعدة بيانات مشتركتين، مع حاويات للبيئة التجريبية.
موقع تسويقي بتسلسلات حركة عبر GSAP وأساس تقني لتحسين محرّكات البحث — خريطة موقع مولَّدة، وبيانات وصفية منظّمة، وميزانية أداء تبدأ من الهاتف.
يستطيع أيّ أحد أن يسرد التقنيات. أمّا هذه فعادات تظهر فعلاً في الأنظمة أعلاه.
بنية Megastore موجودة كوثيقة مواصفات بقرارات مرقّمة — يحمل كلّ قرار مبرّره والبدائل التي رفضتها وسبب رفضها. كتابة ذلك أوّلاً هي ما يجعل القرار قابلاً للمراجعة لاحقاً، وهي سبب بقاء التنفيذ مطابقاً للتصميم بعد أشهر.
الواجهة البرمجية وحدها تلمس قاعدة البيانات. والعملاء والإداريون يحصلون على هويّات تشفيرية منفصلة بدل عمود دور. أمّا الحدود التي هي مجرّد أعراف فتُتجاوَز أوّل مرّة يستعجل فيها أحدهم.
تُعالَج الوسائط قبل تخزينها، فلا يمكن أن توجد ملفّات يتيمة. ورموز Bearer بدل الكوكيز، فلا يكون CSRF شيئاً يُدافَع عنه. أفضل معالجة لصنفٍ من الأخطاء هي تصميم لا يمكن أن يقع فيه.
بحث Postgres النصّي قبل Meilisearch. وDocker Compose قبل منظّم حاويات. فكلّ حاوية شيء يجب تشغيله ونسخه احتياطياً وتأمينه — لذا عليها أن تدفع ثمن نفسها أوّلاً.
Istanbul, Türkiye
مستقلّ / بعقود
تصميم وبناء منصّة Megastore للتجارة الإلكترونية، ومنظومة تطبيقات OUKITEL للأعمال، ومنتج TeleTab — البنية المعمارية والواجهات البرمجية وواجهات الويب وعملاء Flutter وبنية الحاويات التي تعمل تحتها.
Istanbul, Türkiye
بناء أدوات لوسائل التواصل الاجتماعي: خدمات تفاعل آلية تعمل مقابل واجهات المنصّات، على خلفية Node.js مع واجهة أمامية بـ React.
Istanbul, Türkiye
أورجين / Perllamoda
بناء وصيانة متجر إلكتروني يخدم السوق السعودية. تسليم تطبيق أورجين متعدّد المنصّات مع بوّابتَي الدفع Tabby وUrway، وبناء نظام إدارة مستودعات متكامل مع واجهة WooCommerce REST.
Istanbul, Türkiye
تطوير الواجهات الأمامية ضمن الفريق الذي أطلق تطبيق «زكاتي» لأندرويد وiOS، إضافة إلى أعمال ويب لعميل خيري.
مرتّبة بحسب ما أنجزته فعلاً، لا بحسب عدد الدروس التي شاهدتها.
درستُ هندسة الحاسوب في جامعة إسطنبول أيدن، وبدأتُ العمل قبل أن أُنهي الدراسة — بالواجهات الأمامية أوّلاً، سنة 2020، ضمن فريق صغير في إسطنبول يُطلق تطبيق جوّال وأعمال ويب للعملاء.
لم تكفِني الواجهة الأمامية طويلاً. تحرّكتُ نحو عمق المنظومة لأنّ المسائل المثيرة كانت تتبيّن دائماً على الجانب الآخر من الواجهة البرمجية: كيف تُسوَّى دفعة حين يغلق العميل التطبيق في منتصف إعادة التوجيه، ولماذا ينهار مرشّح السعر لحظة تسعير المنتجات بعملات مختلفة، وماذا يحدث لملفٍّ مرفوع يدّعي أنّه JPEG وليس كذلك. وبحلول 2021 كنتُ أبني منتجات كاملة — نظام مستودعات، وتطبيق متجر متعدّد المنصّات ببوّابتَي دفع، والواجهة الخلفية التي تخدمهما.
ما أفعله اليوم هو أن أتسلّم نشاطاً تجارياً يحتاج نظاماً حقيقياً فأبنيه بكامله: نموذج البيانات، والواجهة البرمجية، والمتجر، وأدوات الإدارة التي يستخدمها الموظّفون يومياً، وتطبيق الجوّال، والبنية التحتية التي يعمل عليها. والعمل منفرداً على هذا السطح كلّه جعلني حذراً بطريقة محدّدة — أصمّم بحيث تكون الأخطاء مستحيلة بنيوياً لا مكتشَفة لاحقاً، لأنّه لا يوجد مهندس ثانٍ يلتقطها.
أعمل بالعربية والتركية والإنجليزية، وأبني البرمجيات على المنوال نفسه. فكون العربية تُكتب من اليمين إلى اليسار قيدٌ معماريّ يمتدّ إلى التوجيه والتخطيط ومخطّط قاعدة البيانات، لا مهمّة ترجمة في النهاية. وكوني أطلقتُ ذلك عدّة مرّات هو الجزء الأصعب اكتساباً بسرعة في خبرتي.
أبحث عن فرص في هندسة البرمجيات المتكاملة، عن بُعد أو في إسطنبول، وأقبل أعمالاً تعاقدية منتقاة. وأسرع طريقة للوصول إليّ هي البريد الإلكتروني.