LongCut logo

mini-RAG | 04 | Project Architecture

By Abu Bakr Soliman

Summary

Topics Covered

  • أهمية تنظيم وتسمية فروع Git
  • الغرض من ملف .gitignore و .gitkeep
  • أساسيات ملف README لتسهيل فهم المشروع
  • الالتزام بتحديد إصدارات المكتبات في requirements.txt
  • أهمية ملف .env و .env.example لإدارة الإعدادات

Full Transcript

سلام عليكم اذا في المره اللي فاتت عملنا سيت اب ودلوقتي جدور بقى ان احنا نبدا نكتب الكود خليني في البدايه انا هبدا بان

انا اعمل برانش جديد وباذن الله كل تتوريال هنعمله برانش بحيث الاكواد بتاعته تكون محفوظه فخليني هنا روح في الج

استوديو كود وهطلب منه كريتو برانش في تسميه البرانش في طبعا كل فريق يعني

معين في تسميه البرانش مثلا في ناس بتبدا بانه دي لو هي لاضافه كود خاص بفيشر تختلف عن مثلا خاص بان انا بحلج

معينه ممكن يستخدم يعني تميه سابقه يعني مثلا ويكتب اسم الفيتشر او يخدم

وبعدين يوصف الايه الفيتشر بتاعته في لو انت شغال في تيم والتيم ده مثلا بيستخدم احد السيستم المخصصه لتنظيم البروجكت

بروكت مانجمنت زي مثلا جيرا او او حاجات يعني شبهها انت بيتحط لك تاسك والاسك دي بيبقى لها رقم او اي دي

فمثلا ممكن يكون الام البرانش عباره عن الاي دي بتاع التاسك ده عشان نربط الدنيا ببعضها فتسم تسميه برانش مهمه جدا عشان

تقدر تفهم هو ايه اللي بيحصل عندنا طيب فخليني هنا انا بالنسبه لي عشان ده حاجه هسميها توتوريال ماشي وهكتب او فانا ده

هيكون الايه المسمى بتاع البرانش بتاعي وانس ان انا اتكرت عندي البرانش بهذا الشكل خليني بقى انا هحذف كل الكلام اللي

هنا انا حذفت كل حاجه هنا وابقيت بس على الوت نور والايسنس طبعا اول خطوه دي هكتب الكومت بتاعها فان انا هنا عملت ايه

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

فايلين اللي هو الديت جيت اجنور وده تمبلت مشهور لمعظم ملفات البايثون ماشي وهنا ابديته مع

الوقت ده بروجكت مشهور عاملاه جيتهاب نفسها في اكتر من تمبلت لاسامي الفايلز اللي ممكن تتحط في الدوت جيت اجنور طبعا

دت جت اجنور هو فايل احنا بنحط فيه اسامي ملفات المفترض ان الجيت هاب لما يجي يعمل تراكين للفايل يتجاهل هذه الفايلات فايلات

فيها ديتا فايلات فيها كاش فايلز يعني فايلات انا مش مهتم ان هي تكون معايا في الجيت فب بساطه جدا لو دخلت على البروجكت ده ودورت مثلا على بايثون فلاقي البايثون

دوت جيت اجنور فانا هاخد الكود اللي فيه روح هنا على رو وكوبي كل اللي بيحصل هنا وحطه معايا في الجيت

اجنور فحجه هنا وهحط كده انا عملت الدوت جيت اجنور طبعا اليسن دي الابش لايسن طبعا ممكن تدور على اي لايسن او تكتب لايسن

خاصه بيك وتحط بها فايل بس لازم على الاقل يكون عندك دتت اجنور ويسن في الاستركشر بتاع الدايركتور بتاعك وخليني مع كل تعديل معين هحط كومت

فانا هروح هنا فطبعا انا دلوقتي معايا الدوت جيت اجنور فانا ققول ابديت

دوت اجنور ماشيت كومت يس ونرجع

تاني ملف بعد كده مهم هو الريدمي طبعا لازم اي بروجكت يكون في مي الريدمي ده بوابه اي حد بيبدا يستكشف المشروع بتاعك انه ينتقل بعد كده فلازم تبدا بريد مي وو

حتى في سطر واحد وتبدا بعد كده تحط فيه تفاصيل دايما دايما الريدمي قاعدته ايه مش مجرد التايتل بتاع المشروع ووصف عنه لا في

كل التفاصيل بتحط نفسك مكان اي حد هيفتح مشروعك لاول مره انه ازاي يشغل المشروع ده عنده بدون ما يحتاج انه ايه يكلمك ابدا

فبتحب فيه كل التفاصيل حتى لو حاس تفاصيل تافهه لازم تتحط فيه كل التفاصيل ماشي لذلك حتى لو انت معتقد ان في ديفلوبر

هيبدا يشتغل على المشروع بتاعك قول مثلا في دماغك دهر اصلا مابيعرفش باي ده فلبر اي حاجه تانيه مابيعرفش بايون فانا هدي كل

التفاصيل حتى انشن البايون عنده هيكون عامل ازاي كل ماك كان الريد مي بتاعك منظم في كل التفاصيل كل ما دل على كواليتي

الشغل بتاعتك حبدا هنا احط الريدمي فايل طبعا الريدمي بكتب بهذه الصيغه كل حروفه ابركيس دوت

امدي المارك داون وخلينا نبدا ان احنا نحط كده هنا ححط

مي مي راج ده اسم البروك بتاعنا ماشي وبعدين حطيت تحته وصف يه البروجكت ده ببدا مثلا من الاقسام بقى اللي انا يعني

ببدا فيها مثلا الير انت محتاج ايه عشان على جهازك يكون حصله انستليشن عشان تبدا تشغل البروجكت ده فبدا باليكير

فيرير ققول والله انت في البدايه خالص محتاج بايثون 3.8 مثلا اور ليتر ماشي تعال

مثلا حديه تفاصيل عن ازاي انستول البايثون فانا هكتبله كده تفاصيل قله مثلا ستول ميني كونده بعدين هكتبله شويه تفاصيل

بهذا الشكل في البدايه عمله خطوه اولى اقول والله لازم تداون لود ميني كوندا فروم ود اللينك بتاع ميني كوندا تاني خطوه

انه هريت انفنت

ماشي ك فانا هديه الكوم بتاع الكريشن بتاع الكوندا بعدين ججي اقوله بعد ما ت انستول

هكتفي الفاير دي زي ما عملنا المره اللي فاتت ماشي وادي الكومند بتاع الكوندا

اكتيفيت وكده انت اصبح عندك الايه الكون فخلينا نراجع تاني ده الايه ده الم

طبعا انت ممكن تدوس هنا عشان تعمل فيو لشكل الريدمي فايل بيبقى عامل ازاي فانت على الا اتليست اديت التفاصيل انستول بايون زي في

الاول وهروح هنا وهقول له والله انا عملت هنا ابديت لايه الريدمي ماشي جميل

جدا طيب الى الان خلاص عملنا اركتكتشر من الثلاث فايلات المهمين دول تعال بقى نبدا في الشغل الكبير كمشروع بايثون في فايل

لازم يكون اساسي عندك وهو ريكويرمنت دوت تي اكس تي في ريكويرمنت دوت تي اكس تي المفترض بان انت بتحط كل الكج اللي انا محتاج اعملها انشن في

مكان واحد حتى لو باكج واحده حتى لو انت بتبدا بكج واحده اعمل الفايل ده لانك بعد كده مع التطور هتحط فيه كل حاجه طيب فخلينا ننشئ الفايل ده في

الاولي هنا هنش الفايل ده ير والمفترض ان هنا ان انا ببدا احط بعض الايه الرير

الاساسيه انا في المشروع ده هستخدم فا بي اي فست بي اي هو واحد من اشهر الويب فريم ووركس اللي بنستخدمها في بايثون عشان نعمل

ويب ابلكيشن جميل جدا فاست بي اي من المميزات اللي تخليك تختاره ان هو نفسه

اركتكشر كفري وورك بيجبرك تستخدم شويه حاجات بتخليك تكتب كود شويه ستاندرد يعني انت ممكن لو ما استخدمتها المفترض يعني في

فريم ووركس تانيه تبقى الدنيا فلكسبل مه مستخدمها ما تستخدمها براحتك في فاص بي اي يمكن شويه بيجبلك على نمط من كتابه الكود

بيخلي الكود بتاعك يعني يعيش اكترر كود في ستاندرد اكتر ماشي بالاضافه لبعض المميزات اللي ممكن تقراها هنا فاحنا هنستخدم فاست اي بي

اي لو رحنا نستكشف ازاي انستول فاست بي اي انا مثلا هروح على انستليشن فلا في الستيشن ان هو بيقوللي انت محتاج ت انستول

الفاست بي اي ومحتاج كمان ت انستول يوفي كورن اليوفي كورن بص الفاست بي اي نفسه هو الويب فريم وورك بس انت عشان تشغله عايز

اداه كده اللي هي الويب سيرفر عشان تشغله لك ادا سيرفر ويبدا يفتح على بورت معين تبعتله ريكوست يديك ريسبون اوكي فوفي كور

هنستخدمه عشان نرن ويب سيرفر فور فاست بي اي فالاتنين دايما بييجوا مع بعض طبعا يوفي كورن ليه بدائل ماشي بس خلينا نمشي مع يوفي كورن

حاليا ملحوظه بس لو انت بعد كده ان شاء الله انت بعد كده هتاخد الابلكيشن بتاعك ده وتروح تعمله ران على سيرفر بقى على

كلاود جميل جدا يوفي كورن لوحده يرن برودكشن مش كفايه هنحتاج ان احنا نرن

ب مثلا ب سيرفر او ري سيرفر يعني ممكن تدور على فكره الانجكس ماشيه ازاي على اليوتيوب

هتلاقي ناس بتشرح بشكل لذيذ جدا المهم احنا محتاجين فاست بي اي ويوفي كورن حاليا انا ممكن ببساطه جدا اعمل ايه اخد

الفاست بي اي دي اول باكج عندي واخد كمان اليوفي كورن ستاندرد برض دي تاني باكج واحطهم عندي في ريكويرمنت دوت

تكست فبهذا الشكل بقى عندي التو فايلز دول ملحوظه الاوليه لما تكتب في فايل ماشي

دايما يفضل ان انت تسيب سطر كده في الاخر ليه السطر ده هو ليحصل ببساطه جدا ان انت لو انت ما عندكش السطر ده وجا واحد عايز

يضيف ابديت جديد فهعمل ايه هيعمل انتر ويبدا يكتب الابديت الجديد تيت هيعمل ايه جيت هيلاحظ ان حصل ابديت في السطر ده لانك

اخدت عنده باك سلاش لاين وكمان ابديت في السطر ده فهو عمل ريبورت انه حصل ابديت هنا رغم انه مش ابديت يعني ايه يؤخذ في

الاعتبار وفي البروجكت الكبيره السطر اللي بيتعمل فيه ابديت والريبورت ان حصل ابديت في السطر رقم انين ممكن يكون له دلاله في

بعض التولز اللي هتعمل مونترينج للكود فيفضل دايما انك دايما عندك دايما سطر ايه احتياطي حطه تحت عشان الراجل لما يجي يعمل

ابديت هيبدا يكتب من هنا على طول ويعمل هو سطر ف ازاي طيب دي اول ملحوظه اناني

ملحوظه اوعى خالص انك تحط في ريكويرمنت دو تكست باكج بدون الفيرجن بتاعها دي من الدلالات على ان اللي بيكتب البروجكت ده

مش منظم في البايثون بالذات وفي حاجات مثلا ده نو جي اس وبصراحه في كل حاجه يعني بس في البايثون الفيرجن مهم جدا جدا جدا

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

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

اتشالت اصلا من السبورت فانا لازم اروح اجيب يعني حاليا دلوقتي انا بشتغل على اللاست فيرجن فحجب بس الفيرجن حاليه بتاع فاست بي

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

المستودع الرسمي بتاع ال هيطلعلك اول نتيجه تدخل تتروح جايب كده ده ارقم الفيرجن

ماشي كله كده طبعا لو عايزن معينه لتاريخ معين ممكن تروح على وعندك كل بالتواريخ

بتاعتها خلي دلوقت هاخد ده كده هحطه هنا بس طبعا هشيل المسافه دي واكتب ايكوال ايكوال كده ايه ب عن الفيرجن ماذا

عن يوفي كورن نفس الكلام نفس الكلام كده واعمل احط رقم الفيرجن

معاها وبقى دلوقتي معانا الباكج الايه الاستاندرد فيرجن بعد كده ان شاء الله كل باكج هنحطها هنعمل نفس الفكره هنروح نجيب الفيرجن بتاعتنا من باي باي

ونحطها هنا ده بيضمن لنا ان المشروع بتاعنا ان شاء الله ما يحصلش فيه مشاكل في الستيشن البروجكت بتاعنا في جزء هيكون فيه ان احنا

بنا ابلود فايل للفاست بي اي فهو هيحتاج مننا ان احنا يكون عندنا البايثون مالتي بارت باكج انستول برضو فهنا خدها معانا من

دلوقتي وهكذا تعال بقى نبدا ننول الفايل ده ازاي عشان اكد ان كل الفيرجن دي مافيش اي كلاش ما بينها او تعارضات فهن على هنا

على فيو تيرمنال طبعا في المره اللي فاتت احنا عملنا انستليشن للدبليو اس ال او لو انت حابب تكمل في الويندوز ففعل الانفن بتاع

الويندوز واشتغل عليها فانا هروح هفتح اوبونتو دبليو اس ال في الويندوز ولو انت لينكس طبعا هتفتح على طول الايه الترمنال

بتاعتك على جنب لو انت بتكتب فيرمونت بتاعك ويت ان الدنيا دي يعني السطر ده طويل جدا فنا بنكتب دلوقتي هنضطر

مع الوقت نلاقي نفسنا ايه بنكتب على سطرين وكده وممكن الموضوع يضايق الناس ففي كومند كده لو طبقته هيخلي ان السطر ده يعني

الكومند يتكتب من ايه من سطر تحت الباس ده هسيبهولك في الريدمي فايل حط قسم اسمه اوبشن

ماشي سيت اب يور كومان لاين فور بيتر يبتي الكومند ده لو خدته في اول ما تشتغل خدته زي كده ورحت هنا

طبقته اصبح عندك ايه اصبح عندك ده في سطر والكومنت اتكتب في سطر فده افضل يعني اعمل اكتيفيت لكوندا انفنت اللي انا كنت عملتها المره اللي

فاتت واصبح الكون ده اكتيفيتد هنا هبدا انستول الفايل ده الريك وامنت دي فانا هقول له ببساطه جدا ب انستول داش ار

ريكويرمنت دوت تكست وهشوف كده ان شاء الله ت انستول ولا لا بالفعل حصل انستليشن بنجاح تعال بقى يه نكت الفايل

ده فدلوقتي انا انا كنت عملت ابديت على الريدمي فها اخده كده في الستيج واحط عليه كومت بهذا الشكل وهاخد الريك وامنت تكست واكتب ابديت ريكويرمنت

الكومند اللي طبقناه هنا كل مره نفتح الابونتو ده هنايه هنطبق يعني بعد كده غالبا في اغلب المشاريع

بيكون عندك فولدر كده او دايركتور بتحط فيه الحاجات اللي حصل لها داونلود او كريت بس برضو عايز الجيت ما ياخدش باله منها بس

تجمع كل الحاجات دي في مكان واحد تبقى عارف ان المكان ده ده فيه كل الفايلات اللي فيها استز او مصادر انا بستخدمها فانا بحب اسمي

الفايل ده الفولدر ده استس او ادوات مساعده يعني ماشي دلوقتي الدايركتور ده هو نفسه الدايركتور ده انا عايز يكون موجود

جت شوفه بس هو اللي جواه بعد كده انا هعمل له اجنور يعني كل ما انشئ حاجه فيه هعملها اجنور فانت لو عامل دايركتوري كده هو فاضي

بس عايد الجيت يراقبه فممكن تحط فيه فايل كده فاضي تسميه دوت جيت كيب كده معناه الفايل ده ده عكس الجيت

اجنور وهخليه فاضي دلوقتي مافيش فيه حاجه لمجرد ان انا ابقي على الاسس موجوده كومت طبعا الناس هتضايق من كتر ما انا

بعمل كومت الحاجات دلوقتي لان احنا بنعمل حاجات صغيره بعد كده هنكتب اكواد كبيره ونعمل كومت مره واحده وتاني حاجه لما بتعود نفسك من دلوقتي وتجبر نفسك على انك

بتكوم بعد فتره انت هتلاقي نفسك اوتوماتيك بتعمل كده لوحدك وده هيخلي من الكود بتاعك ومن ستايلك في الشغل مميز في الفريق

بتاعك اخر فايل معايا هبدا اضيفه من الفايلات المهمه وده ركز معايا فيه دلوقتي البروجكت بتاعك وهو بيران بيبدا يستخدم بعض الكونفجريشن

عشان يبدا يران يعني مثلا تخيل انا دلوقتي في نيم للابلكس يحط عنده يحاول يغير النيم ده او فيرجن ل الابليكيشن بتاع بتاعي انا كل

شويه بحط اغير الفيرجن بتاعه الابلكيشن دي كونفيجريشن عامه في كونفيجريشن خاصه بمعنى افرض دلوقتي انا بستخدم سيرفس معينه على

سبيل المثال في الابلكيشن ده في جزء منه هيبدا يستخدم اوبن اي اي سيرفيسز عشان يبدا يودي لها حاجات ويجيب منها ايه ريسبونس والكلام ده فانت عشان تستخدم

الاوبن اي اي لازم يكون معاك سكريت كي بتاخده من اوبن اي اي عشان تبدا تتواصل مع الاوبن اي اي سيرفيسز السكريت كي ده يكون

موجود فين ده لازم يكون ضمن الكونفجريشن اللي هتتغير حسب البيئه او الفاير المنت اللي البروجكت ده شغال عليها كلمه بيئ و

انفام ممكن انت نفسك بتشتغل لوكالي بالدي فلوب بعدين بتروح على السيرفر ده بيئه وده بيئه او مثلا او بكر نفسه بيشتغل ليه بيئه

عمل وفلان جنبه بيشتغل على نفس البروجكت وعنده بيئه العمل الخاصه بيه مجموعه الكونفجريشن كلها لازم نحطها

ماشي وانا هسميه هنا دوت ان لان هو اسم شائع ليه فانا ججي هنا وحقوله دوت ان في

حتى هو فيديو كود بدا يحطله حاجه واحده لان ده اسم ستاندرد طيب المفترض في الوت ان انك تحط كل

الجريش اللي هتستخدمها بعد كده حاليا انا هستخدم مثلا اسبيشن عشان بعد كده كل مره احتاج استخدمه

ما يبقاش هارد كودد او مكتوب كده في الكود انا هاخده من الكريشن تسميه الكونفجريشن من المعتاده ان هي هي عباره عن كونست ثوابت وبالتالي

تسميتها عباره عن كلها ابر كيس ممكن استخدم الاندر سكور في النص فخليني انا هنا حعمل حاجه اسمها اب نيم اوكي وحقول

اكوال وببدا اد ال ال عندنا هنا في يفضل يا اما يا اما رقم شكرا ماشي مش هتاخد

اكتر من كده ده النمط الابسط في تتخزن بعد كده ضمن

يعني موجوده في الاب وفي اي لحظه ممكن انك تعملها اعمل ببساطه

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

ا ماشي طبعا الفيرجن نيم لازم يكونه ستاندرد انت متفق معاه علىي بتاعك كل رقم من دول بيعبر عن حاجه يعني مثلا الرقم

الاولاني بيعبر عن الفيرجن الاساسيه وبعد كده ابديت انا مثلا دلوقتي مثلا هقول ان

انا لسه في البيتا فيرجن ز 1 0 وده اول اصدار مثلا من البيتا فيرجن وهكذا طيب دلوقتي انا عندي بس التو فربل

دول وطبعا هاخد سطر كده زي ما قلتلكم ماشي اللي هيحصل دلوقتي ان دي القيم بس بتاع

البيئه العمل الحاليه بتاعتي فاكيد بعد كده مثلا افترض ان انا هحط فربول هسميه

اوبن اي اي اي بي اي كي ده سكريت المفروض ححط اسك مثلا ده السكرت اللي انا هاخده من ايه من اوبن اي اي طيب دلوقتي

انا لما هبص على التاب بتاع الجت هلاقي ان دوت انف ده رغم ان انا كريت

فايل ومعايا مش موجود مش تكد ليه لان انا في الجيت اجنور اللي انا اخدته من جيتهاب لو دورت على دوت ان هلاقي ان دوت انف ده

معموله اجنور اوع خد بالك منه فصح حلو لان هيبقى في سكرتس وفي حاجات خاصه بالانف بتاعتي مفترض ما تروحش مع الجت بس اللي

هيحصل دلوقتي مشكله بانه اي حد بعد كده هياخد المشروع ده وكلونه عنده مش هيبقى عنده الدوت انف ده هيجي رن البروجكت

البروجكت هيعمل مشاكل وهكرات لان في قيم هو عايزها من ملف اسمه دوت انف بس مش موجود يعني تخيل دلوقتي ان الفايل ده لما

تكون عندك دوت انف ده مش هيكون موجود طب يعمل ايه اي ديفلوبر تاني يجي بعدك عشان

يشتغل لذلك اي دوت انف لازم يكون جنبها دوت انف دوت ازامل ده ملف نسخه كوبي بيست

من الدوت انف بالظبط وكل مره هنا ابديت الدوت انف المفترض نتاكد انوت انف دوت اابل معمله

ابديت بهذا الشكل بس طبعا مافيش فيه اي سكرتس يعني ممكن تحافظ على الكونفجريشن العامه لكن السكرت تسيبها ايه فاضيه ليه

عشان ده اللي الجيت هيشوفه وياخده معاه وبالتالي ده اكزامبل الراجل اول مره كلون البروجكت

هياخد منه كوبي ويعمل دوت انف هو بنفسه يحط فيه بقى القيم بتاعته لذلك انا في الريدمي فايل لازم اقوله على التعليمات دي عشان ما ايه ما

يتوهش مني فانا هنا هرجع بهذا الشكل وهبدا اقوله بعد ما

عملت انشون عملت اكتفيت هتحتاج تعمل انشن اول حاجه انك تست اليرك عشان

تست حطر تطبق الكوم احنا مطبقين بتاع ال بعدين حولله لازم كمان ت بهذا الشكل فانا حولله معلش تطبق امر

عندك تكبي تاخد منه نسخه وتسميها د وبعدين

حولله بقى ان انت لازم بقى بقله معلش انت بعد ما تاخد روح بقى وعدل القيم معينه زي مثلا يكون معايا الريدمي في التفاصيل بهذا

الشكل وبعدين هتاخد نسخه منخن عتقد نفسنا احنا لاول مره عملنا كلون الب وبالتالي م عندناش ماشي انا عملت كلون نزل عندي البروجكت ده

بصيت هنا في الريدمي فايل عملت انستول ريكويرمنت دلوقتي عايز اعمل لطبق الفايل ده ف فحت الترمال وطبقت الكومند ده لما

طبقت الكوماند ده هو عمل ايه خد نسخه منوت ان اابل وكريت لي الدوت انف فاضي مفترض بقى انا ابديت عليه وكل حاجه وكده كده اي ابديت هتحصل في الدوت انف الجيت اصلا

عاملها اجنور ومش هياخدها معاه لو في بروجكت انا شفته ما شفتش فيه فكره الدوت انف دوت اكزامبل غالبا انا كده حاسس ان اللي بيعمل البروجكت ده هو مش

فاهم هو بيعمل ايه بالظبط وبالتالي دي دلاله على انه مش مقدر مدى اهميه الكونفجريشن في البروجكت فال البروجكت ده

سون اور ليتر هيقع ويقع في مشاكل كبيره جدا وطبعا لازم تكون حريص ان اي اي فربل موجود فيدوت انف ليه مثال في الدوت انف

دوت اكزامبل ولكن بدون طبعا اي سكرت كونفيجريشن او كونفيجريشن حساسه المفروض ما ايه ما اشاركها مع اي حد تاني ممكن جست ان انا احط اكزامبل كده دمي ما بيشتغلش

لمجرد افهمه ايه الفكره المفترض تتحط هنا او اوضحها في الريد مي فايل ان انا اكتب لله كل فربل وبيعمل ايه

بالظبط وبكده احنا انتهينا ان احنا عملنا البويلر بليت اح بيسموه البويلر بليت ده التمبلت او القالب الاساسي للمشروع بتاعنا

الفايلات المهمه اللي فيه وعمل وفهمنا دور كل واحد وازاي نعرف ننظمها مع بعض من البدايه بقى من الفيديو الجاي هنبدا بقى

ان احنا نكتب كود حقيقي ورن ان شاء الله

Loading...

Loading video analysis...