التعريف بالمشروع
الدرس 8 من 38 · فهم المشكلة · 5 دقيقة و45 ثانية
الفيديو الأصلي باللغة الإنجليزية. إذا تعذّر تشغيله هنا، شاهده على موقع المؤلف. التفريغ النصي العربي الكامل أدناه.
الموارد
التفريغ النصي
[00:03] نحن مستعدون أخيراً للبدء. نريد أن نبدأ بإلقاء نظرة على المشروع الفعلي الذي سنعمل معه طوال هذه الدورة بأكملها. سنستخدم هذا المشروع الوهمي المسمى FullSnack. هذا هو تطبيق ويب توصيل الطعام. سنستخدم هذا بشكل أساسي كمثال، وهو أمر يمكن أن يساعدنا في توضيح وتصور كيف أن كل هذه المفاهيم والتقنيات والأدوات المختلفة التي سنتحدث عنها، وكيف يتم تطبيقها في الممارسة العملية.
[00:31] قد تلاحظ أن هذا التطبيق يبدو مشابهًا جدًا لـ Uber Eats، وذلك لأنه في الواقع يأكل Uber. لديها فقط شعار مختلف. السبب في أنني أردت استخدام تطبيق حقيقي لتوضيح مفاهيم الدورة التدريبية هو أنه إذا كان لدينا أي أسئلة أثناء تصميم المعمارية أو تنفيذ شيء ما في مشروع حقيقي، فسنتواصل مع رئيس الوزراء أو مصمم لتوضيح كيفية عمل ميزة معينة. لكن هنا ليس لدينا أي من هذه الأدوار ولن ألعب دور مصممنا هنا.
[01:04] لذا بدلاً من استخدام تطبيق وهمي حيث يجب علينا أن نختلق الأشياء بينما نذهب، اعتقدت أنه يمكننا استخدام تطبيق حقيقي موجود. لذلك إذا كان لدينا أي أسئلة، يمكننا الذهاب إلى التطبيق الفعلي والنقر حول ومعرفة كيف يفترض أن تعمل الأشياء بالفعل. لذا لا تتردد في النقر حول Uber Eats إذا لم تكن قد اشتريت أيًا من الطعام اللذيذ الذي لديهم هنا، أو ما أعتقد أنه في الغالب مجرد وجبات سريعة هنا، ولكن لا تتردد في النقر حولها.
[01:31] هذا هو موقع على شبكة الانترنت القياسية، وتطبيق التجارة الإلكترونية. يمكنك التفكير في الأمر. لديها مفهوم المطاعم والمواد الغذائية ويمكنك إضافة عناصر إلى عربة التسوق والتحقق منها وهلم جرا. ولكن مرة أخرى، كل المفاهيم التي سنراها عالمية حقًا. أنها لا تعتمد على هذا النوع من التطبيق. هذا مجرد مثال سيساعدنا على الاطلاع على المحتويات وحل بعض التمارين التي سننظر فيها.
[01:57] لذلك أنا وضعت معا هذا المشروع وثيقة المواصفات، وهذا هو ملف وضع العلامات التي يمكنك الوصول إليها على المستودع GitHub للدورة، والتي ستجد وصلة في الوصف هنا. إنها نظرة عامة جيدة، ونظرة عامة جيدة على مستوى عالٍ للمشروع الذي ستعمل معه. لذا فهي ليست وثيقة طويلة جدًا، لذلك لا تتردد في الاطلاع عليها مباشرة بعد مشاهدة هذا الفيديو. ولكن في الوقت الحالي، سنركز فقط على بعض المعلومات عالية المستوى.
[02:25] لذلك سنعمل مع مشروع FullSnack هذا، وسنقوم ببناء معمارية وتصميم بنية للعميل الذي يواجه تطبيق الويب. سنرى ما يعنيه ذلك، ولكن هذا هو في الأساس هذا النوع من التطبيقات، التطبيق الذي سيستخدمه العملاء لشراء الطعام. ويمكننا أن نرى بعض المعلومات حول الشركة التي نعمل معها أو الفريق الذي سنعمل معه، والذي يتكون من أربعة مهندسين الواجهة الأمامية. على الرغم من أنه من المتوقع أن يتضاعف حجم الفريق ثلاث مرات في الأشهر الـ 12 المقبلة.
[02:56] ودورنا هنا في الأساس هو كقائد تقني لدينا أو كمعماري نحاول التوصل إليه، كما تعلمون، نوع من الأساس لبقية الفريق لبناء التطبيق على رأس. لذلك سيشمل ذلك جمع المتطلبات والتصميم الفعلي للهندسة المعمارية ودعم الفريق أثناء التنفيذ.
[03:15] لذلك ستجد في المستند تفاصيل حول نظام FullSnack أولاً، نظام البرنامج ككل، ثم ستجد في الأسفل مزيدًا من المعلومات حول تطبيق الويب الخاص بالعملاء على وجه التحديد، وهو التطبيق الذي سنقوم ببنائه. الآن أريد أن أركز على هذا القسم الأول هنا للحديث قليلا عن هذا، نظام البرمجيات. وعلى وجه الخصوص، أريد أن ألقي نظرة على هذا الرسم البياني الذي لدينا هنا. هذا هو مخطط سياق النظام.
[03:41] إنه يوضح لنا نظام البرمجيات بأكمله الذي سنعمل معه. ونظام البرمجيات هو في الأساس مجموعة من التطبيقات المختلفة وقواعد البيانات وواجهات برمجة التطبيقات التي تشترك جميعها في نفس الهدف. ومن ثم هنا نرى أن النظام يمثل كصندوق في منتصف الرسم البياني ونرى السياق من حوله، وهو أمران أساسيان: مستخدمو النظام والأنظمة الخارجية الأخرى التي قد تكون ذات صلة بالنظام الذي نعمل معه.
[04:09] في هذه الحالة، لدينا ثلاثة مستخدمين للنظام. لدينا العميل الذي هو الشخص الذي يشتري المواد الغذائية من خلال التطبيق، المطعم، الذي هو صاحب المطعم أو الموظف الذي يدير الطلبات الواردة من العملاء، ومن ثم السائق الذي هو الشخص، سائق التسليم الذي يجمع الطلبات من المطاعم ويسلمها إلى العملاء.
[04:30] ومع ذلك، هذا لا يعني أنهم جميعًا يستخدمون نفس التطبيق. جميعهم يستخدمون نفس النظام. جميعهم من مستخدمي النظام. لكنهم قد، وفي الواقع، يستخدمون تطبيقات مختلفة اعتمادًا على من هم، والغرض الذي يستخدمون النظام من أجله. وأخيراً، لدينا نظامان خارجيان. هذه هي أنظمة الدفع طرف ثالث. هذا شيء مثل Stripe، على سبيل المثال، يدير معلومات بطاقة الائتمان أو المدفوعات والمبالغ المستردة وما إلى ذلك.
[04:56] ثم نظام المشرف، الذي لا يزال جزءًا من FullSnack، الشركة، لكنه يديره فريق مختلف. له غرض مختلف، لكننا لا نشارك التطبيقات حقًا بين نظام FullSnack ونظام المشرف. لذلك لأغراضنا هو خارج حدود نظامنا.
[05:13] في القسم التالي لدينا معلومات حول حاوية النظام. هذه هي اللبنات الأساسية التي تشكل نظامنا. تلك التي ذكرناها من قبل، هذه هي التطبيقات وقواعد البيانات وواجهات برمجة التطبيقات وهلم جرا. سيكون من الرائع حقًا إذا استطعنا تقريب هذا الرسم البياني، لأننا نلتقط مربع نظام FullSnack هذا هنا ونفتحه ونرى ما بداخله.
[05:36] شاهد مخططًا لجميع هذه الحاويات المختلفة، ونحن محظوظون لأن هذا هو بالضبط ما يسمح لنا نموذج C4 بالقيام به، وهو ما سنراه في الفيديو التالي.