פרויקט יחד – חלק 3

חלקים קודמים בסדרה:

הקדמה

מנסיונותיי הקודמים של הדרכת קורסים, חלק גדול לא מצליחים לעמוד בקושי של שלבי הפרוייקטים.
הסיבה היא שהמטלה שנתתי לא מוגדרת מספיק, וקשה לתכנן נכון את הזמנים ולמצוא רעיונות.
אבל הגעתם עד כאן – אתן ואתם יותר טובות וטובים מזה, נכון? :slight_smile:

אשתדל לפרסם פה כל יומיים פוסט עם הצעד הבא שכדאי לכם לקחת.
אם תעקבו אחרי ההדרכה ובזמנים שמפורסמים כאן, תספיקו בוודאות להגיש את הפרויקט, ותהיה לכם רשת תמיכה נוחה יחסית של עוד אנשים שנמצאים איתכם באותו שלב.
כמובן שזה לא מחייב, ואני סומך עליכם שאם לא תבחרו לעקוב אחרי ה־timeline של הפוסט הזה תצליחו בלי קשר.

חלק 3

מה אמור להיות לכם בשלב הזה?

  1. חשבתם על רעיון לפרויקט
  2. יש לכם ERD
  3. חשבתם איך כל אחד מהאובייקטים שתיארתם כטבלה קשור לפעולות ה־CRUD שלכם.
  4. קראתם על JOIN במחברת החדשה שיצאה.
  5. קראתם על INSERT, CREATE, יצרתם את מבנה ה־database באמצעות ה־ERD.
  6. איישתם את מסד הנתונים בנתונים.
  7. יצרתם פונקציות עבור (חלק) מאפשרויות ה־CRUD על מסד הנתונים שלכם.
  8. חיברתם את האפליקציה עם Flask באופן שמתחילים לראות משהו (לפחות אות אחת מה־CRUD מונגשת בעזרת Web).

לסרטון שיצא בעניין:

  1. אפשר לראות אותי עובר את השלבים האלו בסרטון האחרון של השבוע: שיעור לייב עם ים - 1/12 - שבוע 14 שיעור 1
  2. או את כל הסרטונים שיצאו עד כה כאן: לינקים לסרטוני הלייב עם ים - מתעדכן.

השלב הבא:

צרו Frontend בסיסי.

  1. צרו עמוד בסיסי (base.j2) שישמש כ־template כללי שאפשר להרחיב באתר שלכם.
  2. צרו style.css עם CSS שיגרום לאתר שלכם להיראות סבבה.
  3. השתמשו ב־render_template כדי להעביר פרמטרים מהפונקצייה לעמוד.

צרו מודל ORM עובד

  1. בעזרת peewee או SQLAlchemy, צרו מודל ORM שמתאר את הישויות במסד הנתונים שלכם.
  2. ודאו שאתם מסמנים בקוד את כל הדברים הרלוונטיים: NOT NULL, מפתחות ראשיים ומפתחות זרים.
  3. ודאו שהמודל ORM הסופי תואם את המודל שחשבתם ליצור עבור האפליקציה.

טיפ: אם כבר יש לכם database, שני המודולים (peewee ו־SQLAlchemy) יודעים לג’נרט קוד פייתון שתואם את ה־ORM. אם החלטתם ללכת בדרך הזו, ודאו שאתם יודעים לכתוב את הקוד גם בעצמכם ומבינים מה קורה בו. לא אחת המודולים לא מבצעים עבודה מושלמת ותצטרכו לעזור להם.

שכתבו את הפונקציות של ה־CRUD

בד"כ מודולים של ORM כמו peewee או SQLAlchemy באים עם יכולות נוספות, כמו אבסטרקציה ל־SQL.
היכולת הזו מאפשרת לכתוב בפייתון משהו שדומה ל־SQL – אבל בעזרת פונקציות פייתוניות.
המודול שמאחורה ממיר את הכתיבה הפייתונית ל־SQL, בצורה שתעבוד על כל מסדי הנתונים (SQLite, PostgreSQL, SQL Server, MySQL וכד’).

  1. קראו על SQLAlchemy Core ועל Peewee Querying. הבינו איך לכתוב שאילתות בעזרת אחד מהם.
  2. החליפו את המימושים הקיימים שלכם ואת כל השאילתות שכתבתם בקוד כך שישתמשו ב־SQLAlchemy/Peewee. אם הפרדתם היטב לפונקציות זה לא אמור לקחת יותר מדי זמן.
  3. המשיכו לממש פונקציות נוספות בעזרת peewee/SQLAlchemy. זה השלב שבו צריך לדהור לעבר מימוש כל הפונקציונליות מאחורי הקלעים באמצעות ה־ORM.

יש בסעיף הקטן והתמים למראה הזה טון וחצי של עבודה.
ליצור frontend, backend ולממשק עם ה־ORM זה ממש לא שנייה וחצי.
התחילו מוקדם ככל האפשר.

הצילו

במהלך כתיבת החלק הזה אתם עשויים להיתקל בהרבה שאלות.
גגלו, בדקו, ואז נסו להיעזר בחברים שלכם ובשותפים לפורום.
אל תשמרו את זה לדקה האחרונה – יש פה הרבה עבודה לעשות :slight_smile:

3 לייקים