
مرحبًا بكم في سجل Code #100 يوم ، حيث أواجه التحدي الذي يواجهه رمز لمدة ساعة على الأقل في اليوم لمدة 100 يوم! أنا أنضم إلى عالم شجاع جديد لتعلم كيفية التشفير من خلال بدء تشغيل معسكر تطوير الويب الكامل لمدرسة الكود. إنه بدوام كامل للأشهر الأربعة المقبلة ولكنه مجاني أيضًا. كانت عملية التقديم طويلة ولكن مدرسة الكود قبلت فقط 3 ٪ من 4000 من المتقدمين لفوجي. كيف يمكنني رفض الفرصة؟ #CareerChange #WomenIntech

تقدم اليوم : تعلموا محددات CSS الجديدة وممارستهم أثناء برمجة Pain مع CSS Diner
الرابط (s) للعمل : CSS Diner
الأفكار: وصلت إلى أول يوم لي في مدرسة الكود وأحبها. أخبرنا المؤسس والرئيس التنفيذي ، كريس ميه ، اليوم أن اسمًا أكثر دقة لمدرسة التعليمات البرمجية هو "تكثيف مهنة التكنولوجيا على متن حل المشكلات الإبداعية التعاونية". أنا متحمس لبدء رحلتي في تعلم رمز مع كل هؤلاء الأشخاص الجدد!

تقدم اليوم :
الرابط (s) للعمل : اختراق المجرة
تقدم اليوم :
تقدم اليوم :
تقدم اليوم : أمضيت اليوم بأكمله في البرمجة في #JavaScript و #ProMblving مع زميلي في الفريق في أول مدرسة من Code Hackathon. قمنا ببناء لعبة موسيقى الروك وورقة ومقص من الصفر.
الأفكار: أستمتع بهذه المدرسة الجذابة من Code Hackathon Tune التي تجعلنا جميعًا نطلق النار على اليوم - يوم الجمعة Hackathon.
تقدم اليوم : لقد تعلمت اليوم كيفية تتفوق على ريبو في جيثب. ثم تعثرت في إعادة عمل ورش العمل التي قمت بها خلال الأسبوع مع شريك الإقران. لم ننهيهم خلال الأسبوع ، لذا فقد تربطهم حتى أتمكن من العمل عليها بشكل مستقل.
تقدم اليوم : عملت على واجباتنا المنزلية لعطلة نهاية الأسبوع والتي كانت عبارة عن ريبو جيثب الذي يغطي جميع الموضوعات على جافا سكريبت التي قمنا بتدريسها في أسبوعنا الأول في مدرسة الكود.
تقدم اليوم :
تقدم اليوم :
الأفكار: بدأت أفهم ما يفعله المبرمج بخلاف "يعمل مع أجهزة الكمبيوتر". ؟

تقدم اليوم :
تقدم اليوم :
تقدم اليوم :
تقدم اليوم : التدريبات التي تمت دراستها وإكمالها على www.w3schools.com حول الموضوعات التالية في JavaScript: المتغيرات وأنواع البيانات والوظائف والمصفوفات والمقارنة والمشغلين المنطقيين ، للحلقات ، و HTML DOM
الرابط (S) للعمل : W3Schools Tutorial JavaScript

تقدم اليوم : بدأ العمل في ورشة العمل في الأسبوع الثاني من مدرسة الكود التي تغطي الوظائف والسلاسل ، للحلقات ، المصفوفات ، setinterval ، clearinterval ، وجلبها.
تقدم اليوم :
الأفكار: اقتباسي الملهمة لهذا اليوم. شاهدت هذا وهو مثالي بالنسبة لي عندما أبدأ الأسبوع الثالث من معسكر الترميز. ما هو الشيء الجديد الذي ستكون شجاعًا بما يكفي لامتصاصه؟

تقدم اليوم :
تقدم اليوم :
تصميم واجهة المستخدم (UI):
CSS:

تقدم اليوم :
تقدم اليوم : أمس كان هاكاثون يوم الجمعة في مدرسة الكود. استخدمنا مهارات UI/UX التي تم تطويرها حديثًا لتصميم صفحة مقصودة في الأعمال. العمل معا في زوج نحن:
تقدم اليوم :
مستمر وظائف الترميز والحلقات والصفائف لورشة Recap JavaScript مع مدرسة التعليمات البرمجية.
أحد الأشياء الكثيرة التي أحبها في مدرسة الكود هي توصيل كل واحد منا مع معلم يعمل في صناعة التكنولوجيا بالفعل ويرغبون في مقابلتنا 1: 1 كل أسبوع. آرثر هو معلمي وقد شجعني كثيرًا بالفعل مع نصائحه ونصائحه ودعمه. لقد أرسل لي اقتباسًا ملهمًا هذا الصباح عندما كنت أشعر بالإحباط وكنت أكرره بنفسي طوال اليوم. شكرا لك آرثر!

#JavaScript #Mentoring
تقدم اليوم :
تقدم اليوم :
نتعلم هذا الأسبوع عن تطوير الواجهة الخلفية. نحن نستخدم NodeJS (وقت تشغيل JavaScript مفتوح المصدر) لتشغيل JavaScript خارج المتصفح.
#nodejs #backenddevelopment #json #expressjs

تقدم اليوم :
تقدم اليوم :
تقدم اليوم : Hackathon Friday في School of Code على بناء نهاية خلفية. بنيت API REST من الصفر. قم بإعداد طرق Crud وحصلت عليها في جهاز التوجيه الخاص بنا. تم إنشاؤها وظائف النموذج وتم تمريرها لتوجيه معالجات في جهاز التوجيه.
تقدم اليوم : تافهة الريبو من ورشة العمل التي قمت بها مع شريك زوج البرمجة الخاص بي الأسبوع الماضي على بناء واجهة برمجة تطبيقات REST باستخدام Node.js و Express. هل مرة أخرى من الصفر بنفسي هذه المرة لتعزيز ما تعلمته.

تقدم اليوم : هذا الأسبوع ، نتعرف على لغة البرمجة ، SQL.
تقدم اليوم :
تقدم اليوم : اليوم ، تعلمنا كيفية توصيل مكتبة بقاعدة بيانات.
تقدم اليوم :
تقدم اليوم : Hackathon Friday في School of Code! العمل معًا في فريق من ثلاثة ، نحن:
تقدم اليوم :
تقدم اليوم : نتعلم هذا الأسبوع عن الاختبار وممارسات هندسة البرمجيات الحديثة. لقد تعلمنا عن Jestjs.io ، والتطوير الذي يحركه الاختبار (TDD) ، و Cypress.io.
تقدم اليوم :
تقدم اليوم :
تقدم اليوم :
الرابط (s) للعمل : معسكر رمز مجاني
تقدم اليوم :
تقدم اليوم :
تقدم اليوم :

تقدم اليوم :
تقدم اليوم :
تقدم اليوم :
الأفكار: كل يوم في استراحة الغداء أحاول المشي في الخارج. إنه لأمر رائع بالنسبة لصحتي وأيضًا ثبت علمياً أنه يعزز التفكير الإبداعي بنسبة 60 في المائة في المتوسط! مساعدة مثالية لحل المشكلات الفعالة.

تقدم اليوم : Hackathon Friday في School of Code. لقد حاولنا استخدام المهارات في ReactJs التي نتعلمها طوال الأسبوع لإنشاء تطبيق "Ho Do List". قررت أنا وشريكي في الاقتران أننا بحاجة إلى العودة إلى فهم بعض أساسيات الرد مثل الحالة والدعائم. نتيجة لذلك ، قضينا بعض الوقت في قائمة التشغيل على YouTube في Ninja ، والبرنامج التعليمي الكامل React ومناقشته للتأكد من فهمنا ذلك.
تقدم اليوم :
لقد تعلمت اليوم كيفية تحويل تسجيل رقم #100daysofcode الخاص بك إلى تجربة مرئية بفضل مقالة Code Camp المجانية هذه.
لقد قمت بعد ذلك بتحديث هذا السجل مع الصور والروابط وتنسيق التغييرات بمساعدة رمز التخفيض مثل:
مائل
عريض
وصلة
blockquote
Inline code مع backticks
# code block
print '3 backticks or'
print 'indent 4 spaces'
الرابط (s) للموارد :
تعليمي تخفيض
رمز تعليمي ورمز الاستوديو البصري
الأفكار: بعد أسبوع مكثف ، عندما كنت مريضًا بالأنفلونزا وأحاول تعلم كيفية الترميز باستخدام React JS ، كنت بحاجة إلى استراحة عقلية. لقد وجدت أنه من المشجع وتحفيز التعلم كيفية تحسين سجل #100daysofcode الخاص بي على #github لجعله أكثر إثارة للاهتمام للقراءة. في أحد هذه الأيام ، آمل أن تنشر بعض المشاريع الفعلية ، ولكن هذه الآن خطوة أولى جيدة. كان هذا الاقتباس من Code First Girls فقط ما كنت بحاجة إلى قراءته اليوم:

تقدم اليوم : تعلمت عن الوظائف النقية في ReactJs مثل خطاف UseEffect. كيفية جلب البيانات من واجهة برمجة التطبيقات باستخدام Fetch و UseFefect و Usestate.
تقدم اليوم :
تعلمت عن إدارة الفرع في GIT. وشمل ذلك تعلم بعض أوامر GIT الجديدة مثل:
GIT Checkout –B إضافة إلى إعادة التمييز. هذا ينشئ فرعًا جديدًا يسمى "إضافة إلى إعادة التمييز" ويتحول إليه في نفس الوقت.
Git Checkout Main.
GIT PUSH-ORCHERSEREM ORCHING NEWBRANCHNAME
لقد تعلمنا أيضًا عن usereducer وهو خطاف يسمح لك بإدارة حالتك في رد الفعل عندما تريد الحفاظ على كل شيء تحت السيطرة.
تقدم اليوم :
أعادت إعادة تمثيل قائمة مع usereducer من ورشة عمل مدرسة usereducer
عملت على حل 6Kyu Kata في Code Wars مع شريك الإقران الخاص بي.
كان لديه تحديث في كتابة رمز الاختبار استعدادًا لمشروع مجموعتنا الأسبوع المقبل.
ثم عملت على ورشة اختبار مكون React.
تعلمت عن إنشاء تطبيق React. رد فعل مكتبة اختبار.
تقدم اليوم :
تعلم المزيد عن العمل Agile ، لوحة Kanban ، تكرارات Sprint Agile ، MSCW (يجب أن يكون ، يجب أن يكون ، يمكن أن يكون ، لن يكون لها). إلخ.
المزيد من المراجعة على اختبار مكونات رد الفعل.
لقد أجرينا أيضًا وعرضنا مشاريع بحثية جماعية حول الموضوعات التالية:

تقدم اليوم : استمرار استكمال الدروس في دورة JavaScript على FreeCodecamp
الارتباط (الارتباطات) للعمل : خوارزمية جافا سكريبت ودورة شهادة هياكل البيانات
تقدم اليوم : استمر العمل من خلال دروس في دورة JavaScript على FreeCodecamp
الارتباط (الارتباطات) للعمل : خوارزمية جافا سكريبت ودورة شهادة هياكل البيانات
تقدم اليوم :
هذا الأسبوع في School of Code ، تم وضعنا في مجموعات من أربعة وطلبنا تصميم تطبيق ويب كامل المكدس الذي يساعد على مواجهة التحديات التي تواجهها المعسكرات التدريبية أثناء التعلم عن بُعد. في نهاية الأسبوع ، سنقدم حلنا إلى لجنة من القضاة من الصناعة
أحد أهدافنا هذا الأسبوع هو استخدام ممارسات تطوير البرمجيات الرشيقة ونحن نخطط وإدارة وتطوير وتقديم تطبيقنا. لذلك ، كفريق واحد وافقنا لأول مرة على العناصر الأساسية لفريقنا واستراتيجية الاسترداد. استخدمنا بعد ذلك لعبة jamboard وطريقة التفكير في ديزني لطرح الأفكار ثم تضييقها. أكملنا أيضًا قصص المستخدم وشجرة المكونات وإطار الأسلاك المنخفضة على Figma.
قبل أن أبدأ يومي مع School of Code ، شاهدت مقاطع فيديو تعليمية على YouTube بواسطة Net Ninja حول Node.js وتفاعل (باستخدام خادم JSON واستخدام التبعيات).



تقدم اليوم :
لقد أنشأنا اليوم لوحة Kanban على Trello لأغراض إدارة المشروع. ثم انسكبنا أزواج البرمجة مع بدء زوج واحد في بناء الواجهة الأمامية والآخر يعمل على الواجهة الخلفية.
بالنسبة إلى الواجهة الخلفية ، رسمنا مخططًا يوضح الجداول التي قد تحتوي عليها قاعدة البيانات الخاصة بنا وكيفية انضمامها. لقد كتبنا أيضًا جدول تخطيط API للطلبات التي سيتعامل معها الخلفية. ثم أنشأنا قاعدة بيانات postgreSQL في Railway.App
أفكار:
كان هذا يومًا مرهقًا للغاية. الاحتكاك الذي كان لدينا في الفريق أمس أصبح أسوأ اليوم. لم يكن أحد زملائنا متناغمًا مع بقية الفريق ووجدنا أنفسنا ننفق الكثير من الطاقة في التعبير عن سبب قيامنا بما اتفقنا عليه سابقًا ، في محاولة للمضي قدمًا ضد قوة دفع. في منتصف فترة ما بعد الظهر ، أصبح الأمر لا يطاق ووصل فريقنا إلى نقطة الانهيار.

تقدم اليوم :
كان أحد التحديات اليوم هو ربط النهايات الأمامية والخلفية التي طورناها. لقد انتهى الأمر بتنزيل حزمة Node.js تسمى CORS والتي توفر البرامج الوسيطة السريعة وتبديل مكونات React الخاصة بنا للاستجابة بشكل مناسب.
كان لدينا أيضًا وحدة تحكم.
لقد تمكنا من الحصول على مكونين للعمل بشكل صحيح.
أفكار:
بدأنا اليوم بعدم اليقين بشأن ما سيحدث لفريقنا. استمرنا في العمل كثلاثي ، لكننا ما زلنا ضائعين بعض الشيء ، حيث كان من الصعب المضي قدمًا بينما كانت الأمور تتغير بنشاط.
بقيت هكذا حتى منتصف بعد الظهر عندما تلقينا رسميًا قرارًا من مدرسة المدونة أنه منذ ذلك الحين سنكون فريقًا مكونًا من ثلاثة. لقد تأخرنا بوضوح ، لكن هذا التأكيد أعطانا ما نحتاجه والذي كان يقينًا. بالنسبة لبقية فترة ما بعد الظهر ، قام الثلاثة منا بإعادة تقييم وضعنا ، وأعيد كتابة خطة الاسترداد الخاصة بنا ، وبدأوا في إعادة النظر في تعريف المنتج الدنيا (MVP).

تقدم اليوم :
هذا الصباح في موقفنا اليومي ، قررنا أن هدفنا بحلول نهاية اليوم هو أن يكون لتطبيقنا لوحة معلومات معيارية مع أقسام واضحة وأن نكون منظمًا بشكل جيد. كان علينا تقديم بعض التضحيات على خطتنا الأصلية للوصول إلى MVP المنقحة بنهاية اليوم ، مثل:
بعد مراجعة MVP لدينا ، توصلنا إلى نظام ألوان ، وقمنا بتعديل الإطار السلكي المنخفض ، وناقشنا أولوياتنا ومسؤولياتنا للمهام باستخدام لوحة Kanban الخاصة بنا على Trello.
لقد تعلمت اليوم كيفية استخدام CSS في رد الفعل على مكونات النمط والاستمتاع برؤية نتائج مرئية فورية من الترميز الخاص بي.
في نهاية كل يوم هذا الأسبوع ، التقينا مع بأثر رجعي ، باستخدام تقنية 4LS ، لمناقشة ما أحببناه ، والكراهية ، وتوقنا ، وتعلمنا ذلك اليوم.

تقدم اليوم :
كان تركيزنا اليوم على إعداد تطبيقنا وتقديمه إلى لجنة من القضاة من الصناعة.
حلنا عبارة عن لوحة معلومات للمساعدة في إلغاء الضغط بعد يوم من التعلم. لديها أنشطة ، تنظم حسب الفئة ، والتي تساعد على تعزيز الرفاهية. يمكنك إضافته كل يوم وعرض تقدمك بناءً على أهدافك. كما أن لديها مولد نكتة عشوائي. أخيرًا ، هناك موجه لكتابة الأشياء التي تشعر بالامتنان لها بقائمة تذكرك بما كنت ممتنًا له في الماضي.
الأدوات المستخدمة: Jamboard ، Figma ، Trello ، Vscode ، Git ، Github ، Zoom ، Google Docs ، Google Slides
مكدس Tech المستخدم: JavaScript ES6 ، Node.js ، Expres.js ، React.js ، postgresql (Elephantsql and Railway.App) ، HTML ، و CSS
أفكار:
كان لدينا انتكاسات لا مفر منها هذا الأسبوع ، ثم أصبحنا فريقًا من ثلاثة عندما كنا بالفعل وراءنا. بعد ذلك ، على الرغم من أن فريقنا كان أصغر ، فقد عملنا كفريق متماسك ، احتفلنا بانتصاراتنا مهما كانت صغيرة ، ومستوى الإنتاجية لدينا من خلال السقف.
إن الاستيلاء الكبير بالنسبة لنا هو مدى أهمية العقلية والموقف الإيجابي عند مواجهة التحديات كفريق واحد. لقد أتيحت لنا فرصة فريدة لتجربة نوع العقبات التي قد يواجهها المرء في بيئة عمل حقيقية. كان من المهم بالنسبة لنا الاستمرار في المضي قدمًا والبقاء رشيقًا.
هذا الأسبوع ، عشنا القيم التالية من بيان Agile:
أنا ممتن بشكل لا يصدق لزملائي في هذا المشروع ، غابي وميلي. كانوا داعمين ومشجعيين وطيفين ومرنين ومرنين ورائعين في الترميز أيضًا! واجهنا تحديات هائلة ولكننا تغلبنا عليها معًا ، حيث عملت كفريق متماسك بموقف إيجابي. في نهاية الأسبوع ، قدمنا للقضاة تطبيقًا يعمل تم ترميزه بالكامل تقريبًا في يوم واحد. يا له من إنجاز!
لقد أظهرت يا رفاق فهمًا قويًا للمبادئ الأساسية لتصميم البرمجيات ودورة حياة تطوير البرمجيات بشكل عام.
عمل جيد حقًا جعل وضعًا إيجابيًا من أسبوع صعب.
رحلة مؤسفة بالنظر إلى المشكلات التي واجهوها مع أحد أعضاء الفريق ، ولكن لا يزال يتم تسليمها في المشروع المثير للإعجاب.
بطبيعة الحال ، كان منتجك النهائي أقل تطوراً من الآخرين الذين رأيناه ، لكن هذا أمر مفهوم تمامًا عندما نأخذ في الاعتبار المشاكل التي واجهتك في الأسبوع (وكان لا مفر منه تمامًا!) ما قدمته على الرغم من أنه كان مثيرًا للإعجاب حقًا لما هو عمل يوم واحد.

تقدم اليوم : قبل أن تبدأ SOC هذا الصباح ، قرأت في مستندات ReactJS حول الحالة لتعزيز فهمي.
في مدرسة الكود اليوم ، أمضينا الصباح في مجموعات مشاريعنا من الأسبوع الماضي عقدنا بأثر رجعي. أنشأنا لوحة Trello لمناقشة ما حدث بشكل جيد ، وما الذي يحتاج إلى تحسين ، وعناصر العمل للمستقبل. لقد تعلمت أيضًا كيفية إضافة خيار التصويت لبطاقات Trello حتى نتمكن من تصويت فريق على الأفكار الثلاثة التي نود رؤيتها في الجزء العلوي من القائمة.
في فترة ما بعد الظهر ، ركزنا على مراجعات التعليمات البرمجية. لقد قرأنا إرشادات مراجعة التعليمات البرمجية ثم التقينا بفريق آخر من الأسبوع الماضي لمراجعة التعليمات البرمجية (والعكس صحيح).
روابط لبعض الموارد المستخدمة :
الحالة: ذاكرة المكون
الأساسيات بأثر رجعي من أتلاسيا
تقدم اليوم : بدأنا اليوم في تنفيذ بعض التغييرات على الكود في مشروعنا بناءً على التعليقات التي تلقيناها من مراجعة رمز الأقران أمس.
الأفكار: لقد استمتعت حقًا اليوم وأشعر أنني تعلمت الكثير. بينما كنا نراجع الكود الخاص بنا ، حاولت أن أشرح بصوت عالٍ لزملائي في الفريق ما الذي كان يفعله الرمز. كان زملائي في الفريق رائعين في شرح أي شيء لم أفهمه. كما أنها تساعدني في البدء في استخدام بناء الجملة الصحيح. في كثير من الأحيان أفهم ويمكن أن أشرح منطق الكود ولكن لا تتذكر الكلمات التقنية الصحيحة التي يجب استخدامها (مثل "تقديم مكون").
روابط للموارد : أداة JSDOC لإضافة تعليقات الوثائق ومحرر README Markdown
Cypress اختبار مكون من تطبيقنا: 
Github شبكة الرسم البياني لالتزاماتنا: 
تقدم اليوم : تم إنشاء مستندات README للواجهة الأمامية والخلفية من مشروع مجموعتنا من الأسبوع الماضي. انتهى من كتابة تعليقات JSDOC في الكود لكل من الواجهة الأمامية والخلفية. مع مرورنا من خلال الكود مرة أخرى ، كان من الجيد مراجعة فهمي لكيفية اتصال كل جزء ويتواصل مع أجزاء أخرى من الأمام إلى الواجهة الخلفية.
تقدم اليوم : تعلمنا اليوم عن الهوية كخدمة (IDAAS) ، وهي مصادقة قائمة على السحابة التي صممها وتشغيلها من قبل مزود طرف ثالث. أمثلة على مقدمي خدمات IDAAS هي AUTH0 و AWS Cognito و Firebase و Supabase. في فترة ما بعد الظهر ، بدأت أحاول إعداد المصادقة في مقدمة مشروع React. لقد استخدمت Autho0 لدمج الميزات التالية ضمن تطبيق React من صفحة واحدة:
Today's Progress : Today I continued working on yesterday's project. I learned how to call an API that validates ourJSON Web Tokens. The aim was to get our user's metadata to display on the page and we managed to do it!
Next, we worked on protecting the backend of our React project. We created an API that supports the following routes:
It took ages to figure out how to get the last one (private-scoped) to work but we finally managed to find and tick the right boxes in the Auth0 API settings to get it to work (hint: check the Machine to Machine Applications tab).
In the last few minutes of the day, I built a React app from scratch that uses authentication via Auth0. The one bit I haven't figure out yet is how to code it so that you can only access the app once you have logged in. Right now it's showing on the main page and also when you log in. Will tackle that problem another day.
Today I also added a demo video to the README files for our week 9 Group Project: Globally Scoped Project Frontend and Globally Scoped Project Backend
Today's Progress : Learned and practiced how to deploy React app projects via Netlify.
Today's Progress : Learned and practiced how to deploy a backend environment using Render. Then deployed the related frontend (a React app shopping list) via Netlify.
The highlight for me today was learning how to set up my React App from last Friday (2 Dec) so that the user has to log in first before they had access to the app, their user info and their user metadata.
To do this, we leveraged the Identity as a Service (IDaaS), Auth0 React SDK. It is a JavaScript library for implementing authentication and authorization in React. We used the useAuth0 hook in our components to access authentication states such as (isAuthenticated and user), authentication methods such as logout, as well as the logical conjunction (&&) operator to do it.
In the morning I also completed some katas on Code Wars with my pairing partner for an hour. We started going through Katas list of Training JS series together.
Today's Progress : Today we learned about a React Hook called useContext that lets you read and subscribe to context from your component.
Links to resources : React Hooks: useContext and Passing Data Deeply with Context
Today's Progress : This morning I completed a CodeWars kata with my pairing partners. Then we worked on completing the workshop from yesterday on custom hooks.
In the afternoon, we learned more about Couchbase. Couchbase is a DataBase as a Service (DBaaS) provider.
Today's Progress : Hackathon Friday at School of Code. Our challenge was to ideate, plan, and build a full stack app that included:
It was a huge challenge to do in just 5 hours. We managed the first task and had started on the second one when it was time to present at the end of day.
Thoughts: How do you maintain motivation to keep going when you are worn out? After twelve weeks of intensive learning with the School Of Code boot camp, I took the advice that Women In Technology (WIT) shared below so I can press on to keep going in my #100daysofcodechallenge.

Today's Progress : We started learning about TypeScript today. Here's a little code snippet from the first part of our workshop practicing writing in TypeScript:
Code Snippets
/* TASK 1.1: declare and initialize a boolean variable */
let isTrue : boolean = true ;
/* declare and initialize a string variable */
let myName : string = "Stephanie" ;
/* declare and initialize a number */
let myAge : number = 32 ;
/* declare and initialize an array of booleans */
let isVeryTrue : boolean [ ] = [ true , false ] ;
/* declare and initialize an array of strings */
let stringArray : string [ ] = [ "2" , "b" , "6" ] ;
/* TASK 1.2: Declare and implement a function which takes in two numbers and
returns their sum.*/
function totalSum ( a : number , b : number ) {
return ( a + b ) ;
}
console . log ( totalSum ( 2 , 8 ) ) ;
/* TASK 1.3: Declare a new type that describes an object containing the keys and
types below:
amount: a number
uniqueId: a string
isValid: a boolean
addressLines: an array of strings */
type Data = {
amount : number ;
uniqueID : string ;
isValid : boolean ;
addressLines : string [ ] ;
} ;
function getData ( personalData : Data ) {
return personalData . uniqueID ;
}
console . log ( getData (
{
amount : 15 ,
uniqueID : "Sam" ,
isValid : true ,
addressLines : [ "1 Park Lane" , "2 Falcon Way" ]
}
) ) ;
/* TASK 1.4: Declare a new type which is any one of: "BLUE" or "YELLOW" */
function setColor ( color : string | string ) {
return "My favourite color is " + color ;
}
console . log ( setColor ( "BLUE" ) ) ;
console . log ( setColor ( "YELLOW" ) ) ;Today's Progress : Learned how to convert React JavaScript to TypeScript. Spent the day with my pairing partner converting all the .js components of a “to-do list” React app to .tsx components.
Today's Progress : Today we learned how to use VS Code to debug code. We also learned a bit more about how to code using TypeScript.
Tomorrow I have a progress interview. Therefore, I also took some time to review the code from our week 9 group project to make sure I understood it. My programming pair partner for this week, Beatrice, was kind enough to let me practice explaining it to her. She asked me some good questions about it too.
In the evening I met with my mentor, Arthur, and he helped me review and practice answering common interview questions that someone might be asked when interviewing for a software development job.
Today's Progress : Hackathon Friday at School of Code. With our programming pair partner our challenge was to build a weather checker app using Typescript and React. The user needed to be able to input the name of a city and have weather information about that city added to the page.
We first made a plan then created a component tree diagram in Miro before we started any coding. I had my progress interview in the middle of the day so Beatrice did a large chunk of the coding during the 1 1/2 hours that I was away for my interview.
In the last bit of time we had at the end of the day we managed to add a background image and weather icon which reflects the city's weather.

Today's Progress : Continued to work through more of the Free Code Camp curriculum for the JavaScript Algorithms and Data Structures Certification. Also started watching Dave Grey's Node.js Tutorials on YouTube.
Link(s) to work : JavaScript Algorithms and Data Structures Certification
Link(s) to resources : Node.js Tutorials
Thoughts: I have now completed the first twelve weeks of the School of Code (SoC) boot camp. When I started, the only coding I knew how to do was some basic Python from the Code First Girls intro course I took last summer. I didn't know any JavaScript, HTML, or CSS. I didn't know how to use Git or GitHub. I had never heard of a PERN Stack much less how to code using PostgreSQL, Express, React, and NodeJS. In these past twelve weeks, we have been taught a massive amount and I've worked incredibly hard - day, night, and every weekend. It's amazing how much I have learned and grown in just three months.
I still feel so behind though in my comprehension and was feeling quite discouraged yesterday. However, Bee helped me gain some perspective by pointing out that before our SoC boot camp started, she spent two months going through some Udemy courses on JavaScript (while also working). At our SoC bootcamp we only spent 3 days learning what she had spent a full 2 months learning on her own.
I really enjoyed going through this basic JavaScript course on Free Code Camp today. It's so much easier on my brain. I'm learning things that so many others on my SoC course already knew before they started. Some of these concepts look familiar to me because we have used them in our coding at SoC but I had not learned them yet.
This post encouraged me too:

Today's Progress : This morning David Adams, Site Reliability Engineer (SRE) at ManyPets, gave us a interesting, practical presentation about the Continuous Integration and Continuous Delivery (CI/CD) cycle.
In the afternoon, I met my new programming pair partner for the week and together we started learning more about Amazon Web Services' many products. We created a new AWS account and followed the Amplify with React tutorial to create a full stack application with the AWS Amplify Comment Line Interface (CLI). We didn't have time today to add authentication to the app or deploy and host it but managed to get everything else done from the tutorial.
Link(s) to resources : Amplify with React Tutorial
Today's Progress : This afternoon we did group research projects on Nextjs, Gatsby, and Remix. Each programming pair was assigned one of the React frameworks to research. We later presented to groups who looked at the other two frameworks. My programming partner and I were assigned to research Remix. As part of our research we created a Remix project from scratch. Our group presentations at the end led to some interesting discussions about which framework was better to use depending on your needs.
In the morning I also solved a CodeWars kata with my programming pair partner for this week.
Link(s) to resources : Nextjs, Gatsby, and Remix
Today's Progress : Continuted watching Dave Grey's Node.js Tutorials on YouTube and writing the code along with the tutorial.
Link(s) to resources : Node.js Tutorials
Today's Progress : Continued to work through more of the Free Code Camp curriculum for the JavaScript Algorithms and Data Structures Certification.
Link(s) to work : JavaScript Algorithms and Data Structures Certification
Today's Progress : Continued to work through more of the Free Code Camp curriculum for the JavaScript Algorithms and Data Structures Certification. Also watched more of Dave Grey's Node.js Tutorial playlist on YouTube.
Link to work : JavaScript Algorithms and Data Structures Certification
Link to resources : Node.js Tutorials
Today's Progress : Continued to work through more of the Free Code Camp curriculum for the JavaScript Algorithms and Data Structures Certification.
Link to work : JavaScript Algorithms and Data Structures Certification
Today's Progress : Continued to work through more of the Free Code Camp curriculum for the JavaScript Algorithms and Data Structures Certification.
Link to work : JavaScript Algorithms and Data Structures Certification
Today's Progress : Continued to work through more of the Free Code Camp curriculum for the JavaScript Algorithms and Data Structures Certification.
Link to work : JavaScript Algorithms and Data Structures Certification
Today's Progress :
This month at School of Code we have been put into teams of six people and tasked with designing a full stack web application which solves a real-world problem. The aim of this month-long project is to help us experience what it's like to be part of a real-life engineering team building a practical solution for our end users.
Today as a team we accomplished the following:
Key Principles from our Team Manifesto:

أفكار:
Today was our first day back after a two-week holiday and the first thing we did was find out who our teammates are for this final project. I have only worked with one of my five teammates (pair programming) before but know some of them as we're in a larger 40 person group (A) on the bootcamp. I am very excited to about our team. They are all great people and we have huge potential.

Today's Progress :
Disney Ideation Method:

User Stories:

The Unique Selling Point (USP) of our app will be:
Now that we had agreed on an idea for our app we decided on a team name: Frugal Fanatics

Today's Progress : Today we began to define our Minimum Viable Product (MVP) and to design a basic low fidelity wireframe based on our requirements.
We also created a Market Research Survey on Google docs. I shared it on LinkedIn, Facebook, and on the School of Code Slack channels to gather as much feedback as possible.
Link to our survey : Frugal Fanatics Market Research Survey
Today's Progress :
We had 74 people complete our Market Research Survey! The results led us to quickly pivot our MVP based on the user feedback.
It showed that the vast majority of those surveyed have increased stress and anxiety as a result of the cost of living crisis. This led us to decide to add a component to the app which would help them, such as a mindfulness element.
Users also indicated that they were keen to have a budgeting tool as well as a tracker for their expenses and saving. However, not many indicated that they needed help with managing debt. So we decided to shelve the debt tracker for the time being.
Today we also finished our low fidelity wireframes.

Today's Progress :
We made final decisions on our Tech stack today, including using relational databases over non-relational. We also decided on our Git branching strategy (GitHub Flow) and practiced it using a practice repo. We will be protecting the main branch and deploying after every sprint. In addtion, we agreed on our colour scheme.
Tech Stack:

Colour Scheme:

Today's Progress :
We finally started coding today!
Team Rota:

Other work we did today as a team:
On the Front End:
On the Back End:
Entity Relationship Diagram 
Today's Progress :
We merged all the front and back end branches this morning so we are moving forward on a uniform copy. With my pair partner for the day I set up the back end to include 3 models and 3 routes connected to the database tables on elephantSQL.
Today's front end teams:
Today's Progress : Today I was working with a different partner on the back end. We debugged and successfully tested GET requests for userRoutes, expensesRoutes, and savingsRoutes via Postman. We also successfully debugged and tested POST for userRoutes.
I drafted the README doc for our back end repo.
We also deployed the back end to Render: Users Table, Expenses Table, and Savings Table
Today's Progress : This morning, with my partner, I finished debugging and testing the back-end GET and POST requests for users, expenses and savings.
We then prepared our group presentation for our mid-month product demos which we showed in the afternoon to everyone in Group A (around 40 people). We received some helpful feedback from the coaches which we will bring into our planning next week.
Today's Progress : Worked on documenting our teams progress since we started, including taking screen shots and recoding videos which demonstrate our app as it is today.






Today's Progress : Today we discussed our goals for our next week-long sprint which starts today. Our top priority is to get the front and back end connected. Right now we have a fully funtional back end with GET and POST requests working. The front end is working too but with dummy data that's been hard coded.
My programming pair partner for today and I worked on cleaning up the code on the front end: breaking down the components into groups and updating the terminology to match the database. At the end of the day, we met as a team of six again and decided that tomorrow morning four of us will work together to agree upon how we want to connect the front and back end so we are not doing separate things (on the front and back end) that don't end up working together.
We are also considering at what stage we will implement authentication - at the start before completing the budget information form, or only after that form has been completed but before displaying the custom dashboard which is populated with data from the completed form.
Today's Progress : Last week, we created a custom Express.js server on the back end and built our front end using the Next.js React framework. We realised this week that there are some challenges with connecting these two. Therefore, today we explored some other options for the back end that would work better with Next.js, such as Supabase. Some of the features that Supabase offers are a Postgres database and authentication. It is also open-source. We spent today discussing, researching and experimenting to determine the best option to use. While I was doing this with a few of my teammates, two others from our group worked together to get the front end deployed on Netlify as well. When we divide and conquer we make great progress together as a team!
Link(s) to resources : Supabase
Today's Progress : Yesterday afternoon we created a test branch off our main front end branch and scaled it down to test whether we could get Supabase working with authentication and our simplified Next.js app. We managed to get it working so decided to go with Supabase + Next.js instead of elephantSQL and Express.js with Next.js. It was easy to quickly replicate our Postgres database in Supabase. Then we started refactoring our code on the front end using Supabase. It's been slow going as it's all new to us. Up to this point, the only authentication that we've learned in the bootcamp was how to use Auth0 as a login for a simple static site. Our app for this project, however, requires authentication and authorization when accessing the database and it's also a dynamic website.
We also spent time as a team today discussing how we can make our app fun and gamefied since that's one of our unique selling points. We have some great ideas which we hope to implement once we finish connecting the front and back ends.
Two of our team worked together today updating the front end to make it accessible. By the end of the day, Google's Lighthouse accessibility audit was showing all green with 100% ratings.
This evening I spent some time reading through documentation on Next.js and supabase so I have a better understanding of how they work. I feel more confident now going into tomorrow.
Tech Stack starting week 3

Accessibility - Lighthouse Audit



Today's Progress : Discussed our goals first thing this morning. Decided to make dark mode the default mode for our app as we all think it looks better (based on our high fidelity wireframes).
Then we split into two teams for the day. My team continued refactoring the code on our front end to add authentication with supabase. It was slow going but we made some good progress.
The second team worked on making the savings page of our app look more fun with icons and colors.
We also had the opportunity to hear from two companies that are hiring for roles that we can apply for when we finish the bootcamp. One of them is hosting a hackathon next week for potential applicants. مثير!
High Fidelity Wireframe dark mode

Today's Progress : Today we agreed on the name of our app: frumo (short for frugal money).
My pairing partner and I started working on the dark mode version of our app. I enjoyed learning how to use Tailwind CSS for the first time.
We also prepared and gave a presentation to the coaches and other teams in Group A summarizing what we accomplished this week.
Sprint goals week 3 and accomplishments:

Savings page with features added to make it more fun:

Today's Progress : I spent most of today with my pairing partner updating the code so that our app runs by default in dark mode and the dark mode matches our high fidelity wireframe. It was a lot of grunt work but the end result looks good. It also helped me to get more familiar with the interworking of the code on the front end, Tailwindcss, and Figma. We also tried adding a celebration animation to the app for when a goal is achieved to make the app more fun.
Another pairing group from our team worked on the landing page. The third pairing group from our team continued working on the savings page.
At the end of today, the team decided that I should be the scrum leader for the rest of our time working together. I served as the scrum leader our first week and then we started changing to a new scrum leader every two days. Even though half the team initially weren't keen on being a scrum leader, we thought everyone should have the chance to lead because it would be a good experience. It was also interesting to see people's different leadership styles.
frumo app in dark mode:








Today's Progress :
As the scrum leader today, I ran the daily stand-up and end-of-the day retrospective. That evening, one of my teammates sent me a message which boosted my confidence. They said,
“Hey Stephanie, I think you did a fantastic job leading the team today! You kept the stand-ups on point and I think we were a lot more clear and productive thanks to it!”
It was a surprise to receive their message and their encouraging words made my day.
We paired off into three teams today with tasks to complete. My partner and I worked on making the app responsive so that you can view it on mobile phones as well.
By Friday we have to prepare a short video introducing our project, create a new YouTube account for our team, and upload the video to this account. Therefore, I started preparing the PowerPoint presentation and embedding a demonstration video of our app into it.
Today's Progress :
I had a fun day today participating in my first hackathon for a potential employer. It's the first step to apply for a junior software developer role at this company. I was put in a group of four and we were given four hours to design and create a web app to promote sustainability to individuals and software development project teams. We also had to prepare and give a 5 minute presentation to a panel of interviewers from the company about our app.
Throughout the day, we were each pulled out at different times to meet one to one with someone from the company for a casual interview. I enjoyed my conversation with the person who interviewed me and learned a lot more about the company. All in all, it was a great experience. I had never worked with the three people in my group but we worked well together and the interviewers said that our presentation was really good.
Today's Progress :
Today was the last day to work on our app. It was a flurry of activity and stress but we got through it. The main things we worked on were:
Today's Progress :
Today we recorded our presentation and submitted it. You can view it here:
Frugal Fanatics presentation
If you'd like to try out our app for yourself, check it out here: https://frumo.co.uk/

Celebrating the completion of our final project!

Today's Progress :
Today I took on a 6 kyu Shopping List kata on CodeWars. First, I wrote a plan in plain English. I did something differently today though. Once I'd written the plan, I worked backwards. I looked at the best solutions and then wrote code to solve it. I did it in steps, first writing the code to solve the simplest part of the kata. For the next step, I wrote the code to include any discounts and buy one get one free deals on the products. Throughout I wrote comments explaining each line of code. I did all of it in a private repo in js files and tested them in JS Console.
Link to resource : Codewars Shopping List kata (6kyu)
Today's Progress :
Continuing on from yesterday, today I wrote code to test the solutions that I wrote yesterday. I initialised a Node.js project and installed Jest as a dependency. Then I created the test files, wrote the tests, and ran the tests ( npm test ). Loved seeing those green pass test results!
Today's Progress : Today we worked on preparing and rehearsing our presentation for the School of Code demo day.
Today's Progress : I worked with one of my Frugal Fanatics teammates this morning to write some end to end tests to test our app using Cypress. It was really fun to explore testing with Cypress. We hadn't done it since week 6 of the 16 week bootcamp.
Today's Progress :
Today we shared our frumo app to the School Of Code's partner companies who are looking to hire talented junior developers. Our team had the chance to share our frumo app with 12 people from 9 different companies. Their responses blew me away! Here are a few quotes:
"Awesome idea"
"The best presentation I've seen all day. Very professional"
"Shout out to the gamification of savings"
"Amazing app"
"Awesome presentation"
"Really useful"
"Makes dealing with money more digestible for non-financial people"
"Looks fantastic"
"رائع"
"The dashboard is beautiful"
"Really good looking app"
"Looks really impressive. Very professional."
My personal favourite quote for the day though was:
"Anyone can learn to code with enough time. How you work with people and your communication skills are much harder to learn."
It gives me high hopes as I continue learning how to code even after my days at the wonderful School Of Code are done. I am incredibly grateful to the School Of Code for choosing me, from among the 4000 applicants, to have the opportunity to attend their fantastic bootcamp. I have been stretched beyond measure and learned more than I ever thought possible these last four months. I can't wait to keep learning and coding!
