اختيار مكان مناسب وبناء طلعة كاملة يتطلبان جمع معلومات وقرارات متفرقة.
اقرأ التفاصيل كاملة
عند البحث عن طلعة في مكة أو جدة، لا يكفي معرفة اسم المكان وتصنيفه. يحتاج المستخدم إلى فهم حالة المكان، والأجواء، ومدى ملاءمته للوقت الحالي، وساعات العمل، ومستوى السعر، والموقع، وما يجب معرفته قبل الزيارة. تزداد صعوبة القرار عندما تتضمن الطلعة أكثر من مكان؛ إذ يصبح على المستخدم البحث عن الخيارات، وحفظها، ومقارنتها، ثم ترتيبها بحسب الوقت ونوع الطلعة وعدد الأشخاص والتفضيلات. القوائم الثابتة تعرض الأماكن، لكنها لا تربط هذه المعلومات والقرارات داخل رحلة واحدة تنتهي بخيار أو خطة واضحة.
الفكرة
يحوّل Pulse اكتشاف الأماكن إلى نظام قرار مبني على إشارات الحالة وسياق المكان والمقارنة والمجموعات المحفوظة والتخطيط متعدد المحطات.
استراتيجية المنتج
تصميم UI/UX
Flutter
Riverpod
GoRouter
بنية المستودعات
الحفظ المحلي
الاختبارات الآلية
٠١
رادار المدينة
تعرض أقسام مثل Top Signal وMoving Now الأماكن وفق الحالة والمسافة والتصنيف وسبب ملاءمتها الآن بدل دليل ثابت.
٠٢
ذكاء المكان
تجمع صفحات المكان الحالة وساعات العمل والنطاق السعري والأجواء والملاحظات العملية والمنيو والصور والبدائل المشابهة.
٠٣
الخطط والمجموعات
يستطيع المستخدم حفظ الأماكن في مجموعات ومقارنة الخيارات وإنشاء خطط متعددة المحطات وفق الوقت والميزانية والمدينة والتفضيلات.
٠٤
تجربة محلية ثنائية اللغة
تحافظ Flutter وRiverpod والمستودعات وJSON المنظم وSharedPreferences على بنية معيارية مع دعم العربية والإنجليزية وحفظ التفضيلات.
قرارات التصميم
أهم الاختيارات التي شكّلت طريقة اكتشاف الأماكن واتخاذ القرار وبناء الخطة.
٠١
تحويل كل مكان إلى إشارة قابلة للقراءة
ليش؟لغة إشارة واحدة (الحالة والحركة والمؤشر) تُقرأ بالطريقة نفسها في الرئيسية والبطاقات والخريطة.
بدل تنظيم التجربة حول التصنيفات فقط، يمنح Pulse كل مكان حالة من تسع حالات، واتجاه حركة، ومؤشر Pulse، وحالة عمل. تظهر اللغة البصرية نفسها في الصفحة الرئيسية، وصفحة الترند، والبطاقات، والخريطة، مما يساعد المستخدم على فهم وضع المكان ومقارنة الخيارات بسرعة من دون إعادة تفسير المعلومات في كل شاشة.
٠٢
تجميع قرار الزيارة داخل صفحة تفاصيل واحدة
ليش؟الأسئلة التي تسبق الزيارة تُجاب في صفحة واحدة.
تم تصميم صفحة المكان لتجيب عن الأسئلة التي تسبق الزيارة، وليس لعرض وصف وصورة فقط. تجمع القراءة السريعة، وأفضل حركة، وملاحظة القيمة، والأجواء، والسعر، وساعات العمل، والمنيو، ومعلومات المواقف والجلسات، والصور، وعلاقة المكان بالمجمعات أو الفروع التابعة. هذا يقلل انتقال المستخدم بين مصادر وشاشات متعددة قبل اتخاذ القرار.
٠٣
ربط الاستكشاف والحفظ والمقارنة بالتخطيط
ليش؟البدائل والإجراءات تحت كل مكان، فيستمر القرار حتى يصير خطة.
لم تُصمم المجموعات والخطة كأدوات منفصلة. يمكن تحويل مكان من صفحة التفاصيل إلى محور للخطة، أو بناء الخطة من جميع المحفوظات أو مجموعة محددة. كما يستطيع المستخدم مقارنة خيارين قبل التخطيط، ثم تثبيت التوقفات المناسبة أو استبدال غير المناسب منها، مما يحافظ على سياق القرار من بداية الاستكشاف حتى تكوين المسار النهائي.
على الجوال
من نبض المدينة إلى خطة الطلعة
رادار المدينةإشارات مرتبة توضح ما يتحرك الآن ولماذا كل مكان مناسب.
خريطة المدينةاستكشاف إشارات الأماكن مكانيًا مع معاينة المكان المحدد.
الصور والبدائلتوسع الصور وساعات العمل والتعليقات والأماكن المشابهة فهم المستخدم للمكان.
كيف انبنى
من الشاشة إلى قاعدة البيانات.
Flutter UIشاشات منتج متجاوبة ثنائية اللغة
Riverpod Stateمتحكمات الميزات والحالة المشتقة
Repository Layerمصادر بيانات محلية قابلة للاستبدال
JSON منظم + SharedPreferencesبيانات الأماكن والتفضيلات المحفوظة
تغطي فحوص Flutter واختباراته حالات الاستخدام والمتحكمات والتخزين والمسارات والمكونات.
يتم التحقق من تبديل العربية والإنجليزية وحفظ المدينة والتفضيلات عبر اختبارات التخزين والمسارات.
تتحقق النسخة الخاصة المنشورة من رحلة الواجهة التفاعلية كاملة.
النتيجة
منتج تفاعلي يربط اكتشاف المكان بقرار الخروج وخطة الطلعة.
اقرأ التفاصيل كاملة
أصبح Pulse قادرًا على تقديم رحلة وظيفية مترابطة تبدأ باستكشاف 66 سجلًا للأماكن في مكة وجدة عبر الصفحة الرئيسية أو الخريطة، مدعومة بـ544 صورة محلية وبيانات منظمة لساعات العمل والأسعار والقوائم ومعلومات ما قبل الزيارة. يستطيع المستخدم الانتقال من قراءة إشارة المكان إلى فتح تفاصيله، وحفظه داخل مجموعة، ومقارنته بخيار آخر، أو استخدامه لبناء خطة. تكتمل الرحلة ببناء خطة من توقفين إلى أربعة وفق الوقت وعدد الأشخاص ونوع الطلعة والقواعد المختارة، مع دعم مصادر مختلفة للخطة، وتثبيت التوقفات أو استبدالها، ومشاركة الخطة وحفظها في سجل محلي. يثبت المشروع القدرة على تصميم وتطوير منتج Flutter متعدد الرحلات، بهندسة معلومات واضحة وإدارة حالة مترابطة ودعم كامل للعربية والإنجليزية. والمشروع قيد التطوير، ونسخته الحالية تعمل ببيانات وحفظ محليين.