נושאים הנדרשים לביצוע הפרויקט
· JavaScript
· Asynchronous Programming
· Node.js
· מסדי נתונים
· RESTful Service
· Validation
· Embedded JavaScript (EJS)
· HTML (בסיס)
· CSS (בסיס)
שלבי ביצוע הפרויקט
1. בניית מסד נתונים
צרו מסד נתונים עבור חנות הצעצועים Toys R Us.
מסד הנתונים יכול להיות ב-MySQL או ב-MongoDB לבחירתכם.
על מסד הנתונים להכיל שתי טבלאות (אם הוא ב-MySQL) או שני אוספים (אם הוא ב-MongoDB):
א. טבלה / אוסף קהלי יעד:
o מזהה ייחודי (מפתח ראשי)
o סוג קהל היעד – מכילה את המידע הבא:
§ תינוקות (גילאי 0 עד 2)
§ זאטוטים (גילאי 3 עד 5)
§ ילדים (גילאי 6 עד 13)
§ נוער (גילאי 14 עד 18)
§ בוגרים (גילאי 19 ומעלה)
יש להוסיף את הערכים הנ"ל למסד הנתונים ע"י ממשק מתאים כגון PhpMyAdmin / Robo 3T / אחר.
ב. טבלה / אוסף משחקים:
o מזהה ייחודי (מפתח ראשי)
o מזהה קהל היעד (מפתח זר לטבלה / אוסף קהלי היעד)
o שם המשחק
o תיאור המשחק
o מחיר
o תמונה (שם קובץ כולל סיומת של תמונת המשחק)
2. בניית RESTful Service
צרו RESTful Service החושף את הפעולות הבאות:
o החזרת כל המשחקים. יש להחזיר את פרטי המשחק יחד עם סוג קהל היעד שלו
o החזרת משחק אחד לפי קוד משחק. יש להחזיר את פרטי המשחק יחד עם סוג קהל היעד שלו
o הוספת משחק חדש
o עדכון מלא של משחק קיים
o עדכון חלקי של משחק קיים
o מחיקת משחק קיים
o חיפוש משחק לפי מחרוזת חיפוש – החזרת כל המשחקים המכילים את מחרוזת החיפוש
על ה-RESTful Service להיות בנוי בשכבות (DAL / Business Logic / Controllers).
על ה-RESTful Service להכיל Model-ים מתאימים הכוללים ולידציה.
יש לבדוק שכל ה-Routes עובדים כמו שצריך ע"י Postman.
יש לחשוף את המידע ממסד הנתונים שבניתם בסעיף הראשון.
3. בניית אתר אינטרנט
צרו אתר אינטרנט ע"י שימוש ב-EJS המכיל את הדפים הבאים:
o דף בית – מכיל הסבר על האתר, סרטון או תמונה
o דף אודות – מכיל את פרטי המתכנת
o דף צפייה בכל המשחקים. עבור כל משחק יש לראות את כל המידע שלו, כולל תמונת המשחק (ללא הצגת קוד המשחק)
o דף צפייה בפרטי משחק ספציפי (נגיש ע"י לינק כלשהו הקיים בכל משחק המופיע בדף המשחקים)
o דף הוספת משחק חדש
o דף עדכון משחק קיים (כל הפרטים)
o דף מחיקת משחק קיים
o דף חיפוש משחקים לפי טקסט חיפוש. יש להציג את כל המשחקים המכילים בשמם את מחרוזת החיפוש
האתר יכול להיבנות כפרויקט נפרד מפרויקט ה-RESTful Service שבניתם בסעיף הקודם ולרוץ על פורט אחר, אך הוא חייב להשתמש ב-RESTful Service שבניתם בסעיף הקודם בכדי לבצע את כל הפעולות הנ"ל הקשורות למסד הנתונים.
חובה לבצע ולידציה גם בצד הלקוח וגם בצד השרת.
4. הוספת עיצוב
עצבו את האתר בעיצוב CSS פשוט אך אסתטי, הכולל Layout, צבעים, רקעים, גופנים, אייקונים, תמונות וכדומה.
5. בדיקות
בידקו שהכל עובד כמו שצריך, שאין שום שגיאת קומפילציה, שאין שום שגיאות ריצה, שאין שום שגיאות קונסול (צד שרת או צד לקוח), שהמשתמש לא יכול להכניס ערכים שגוים (ולידציה), שתמונה עולה ונשמרת בשרת כמו שצריך עבור הוספת משחק חדש, שתמונה עולה ומעודכנת בשרת כמו שצריך עבור עדכון משחק קיים, שתמונה נמחקת מהשרת עבור מחיקת משחק קיים ושכל המערכת עובדת כמו שצריך עבור כל דף וכל פעולה שבניתם.