كل المشاريع
قصة مشروع: عافيتي AFYTI

وعدت بشهر. التطبيق نزل على App Store خلال 25 يوم.

عافيتي منصة طب عن بعد بفلسطين. فريق ثاني اشتغل عليها شهور، بس الشغل كان ماشي ببطء والمواعيد اللي أعطوها ما التزموا فيها. استلمت المشروع كـ Tech Lead، ووعدت إنه ينزل خلال شهر، وسلّمنا تطبيق مرضى بتصميم جديد، وتطبيق دكاترة من الصفر، والبنية التحتية اللي بتشغّلهم.

الدور
Technical Lead
الإطلاق
على المتجرين
المنصات
iOS و Android و Web
التقنيات
Flutter و Node.js و Next.js و AWS
AFYTI
25 يوم
من أول يوم شغل لحد ما نزل تطبيق المرضى على App Store
11 يوم
تطبيق الدكاترة، من أول commit لحد App Store
من أول مرة
Google Play وافق على التطبيقات من أول تقديم
+1,000
اختبار آلي للـ backend، بعد ما كانوا صفر

التحدي

وصلني مشروع عافيتي عن طريق توصية من عميل كنت شغال معه على مشروع ثاني. فريق سابق كان يبني المنصة من شهور، بس التقدم كان بطيء كثير، والمواعيد اللي أعطوها ضلت تتأجل.

الكود اللي استلمته ما كان فيه ولا اختبار آلي. الشركة كانت محتاجة منتج شغّال، مش موعد جديد يروح.

الوعد

بلّشت بمراجعة كاملة للكود، وبعدها وعدت وعد واحد: المنصة بتنزل خلال شهر. هاد يعني نقرر بسرعة شو بنخلّي، وشو بنعيد بناءه، وشو بيستنى لبعد الإطلاق.

شو سلّمنا

تطبيق المرضى بتصميم جديد

تطبيق Flutter لـ iOS و Android: البحث عن دكتور، والمحادثة، والاستشارات الصوتية والفيديو، والوصفات الطبية، والدفع، والإشعارات، بالعربي والإنجليزي والعبري مع دعم كامل لـ RTL.

تطبيق الدكاترة من الصفر

تطبيق Flutter جديد للدكاترة: الاستشارات، والمحادثة، ومكالمات الصوت والفيديو بشاشة اتصال أصلية، والوصفات، والأرباح. من أول commit لحد App Store خلال 11 يوم.

الـ Backend وبوابة الويب

API مبني بـ Node.js و Express على MongoDB، فيه محادثة لحظية عبر Socket.IO، وإشعارات push و VoIP، ودفع بالبطاقات، وتحقق OTP، وبوابة ويب للدكاترة والصيدليات.

لوحتين Super Admin

خلّينا لوحة الـ super admin القديمة شغّالة للعمليات اليومية، وبنفس الوقت بنينا البديل: super admin جديد بـ Next.js داخل Turborepo مع packages مشتركة للواجهة والترجمة.

صفحة الهبوط والمدونة

موقع التسويق على afyti.co، ونظام مدونة لمقالات صحية بيراجعها دكاترة.

البنية التحتية والجودة

جهّزت بنية AWS بحيث الإصدار الجديد ما يصير مخاطرة. بالأسبوع الثاني، وقع الـ production بسبب بناء التطبيق على السيرفر نفسه، فنقلنا كل عمليات البناء للـ CI. من وقتها، كل deploy بينتهي بـ health check و rollback تلقائي إذا صار أي خلل.

  • CI/CD بـ GitHub Actions: البناء بيصير بالـ CI والنشر على EC2 عبر AWS SSM، بدون أي دخول SSH للسيرفرات.
  • بيئة staging منفصلة عن الـ production، مع health check بعد كل deploy و rollback تلقائي على الـ production.
  • CloudFront قدّام الـ API والموقع واللوحات، مع rate limiting عبر AWS WAF.
  • تخزين S3 مشفّر ومع versioning للملفات الطبية، مُدار بـ Terraform، مع AWS Backup يومي.
  • فحوصات على كل pull request: lint و type checks واختبارات Flutter وتطابق مفاتيح الترجمة.
  • أكثر من 1,000 unit test للـ backend، وأكثر من 230 اختبار Flutter.
  • بناء تطبيقات الموبايل من الـ CI مباشرة لـ TestFlight و Firebase App Distribution و Google Play internal track.
  • بالأسبوع الأول صغّرت سيرفر الـ production درجتين حسب الاستهلاك الفعلي.

الفريق وطريقة الشغل

فريق صغير بتخصصات مختلفة، المهام والـ sprints على ClickUp، وما في إصدار بيطلع قبل ما يعتمده الـ QA.

  • Technical Lead (أنا): المعمارية، و AWS، وتطوير الموبايل والـ backend، ومراجعة الكود، والإصدارات.
  • مصمم UI/UX: إعادة تصميم تطبيق المرضى وتصميم تطبيق الدكاترة الجديد.
  • مطوّر Backend: الـ APIs والتكاملات.
  • مهندس QA: اختبار كل إصدار قبل ما يوصل للمتاجر.

الإطلاق

تطبيق الدكاترة نزل على App Store بعد 24 يوم من بداية الشغل، وتطبيق المرضى لحقه ثاني يوم.

Google Play وافق على التطبيقين من أول تقديم، و Apple وافقت من ثاني مرة، على حساب مطوّر مؤسسي جديد جهّزناه لعافيتي. ومن وقت الإطلاق، التطبيقين بينزلهم تحديثات بشكل منتظم.

التطبيقات

تطبيق المرضى
تطبيق المرضى
تطبيق المرضى
تطبيق المرضى
تطبيق المرضى
تطبيق المرضى
تطبيق الدكاترة
تطبيق الدكاترة
تطبيق الدكاترة
تطبيق الدكاترة
تطبيق الدكاترة
تطبيق الدكاترة

الموقع والمدونة

صفحة الهبوط afyti.co
صفحة الهبوط afyti.co
ميزات المرضى
ميزات المرضى
ميزات الأتمتة
ميزات الأتمتة
مدونة المقالات الصحية
مدونة المقالات الصحية

شوفه على أرض الواقع

مشروعك واقف كمان؟

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

تواصل معي