/Pizza-order-service

pizza ordering service (web50 - project 3)

Primary LanguagePython

Pizza Ordering Service ๐Ÿ•

Practicing using Django as server framework and gaining experience with relational database design.

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””์ž์ธ๊ณผ Django ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์—ฐ์Šตํ•ด๋ณด๊ธฐ ์œ„ํ•œ ์›น ์„œ๋ฒ„ ๊ฐœ๋ฐœ.

๐Ÿ• Pizza Restaurant's Online Ordering Service

  • For CS50 Web Programming with Python and JavaScript - project 3.
  • Created an online ordering service for a pizza restaurant.
  • Used Django as the server framerwork.

๐Ÿ• ์˜จ๋ผ์ธ ํ”ผ์ž ์ฃผ๋ฌธ ์„œ๋น„์Šค ๊ฐœ๋ฐœ

  • ํ•˜๋ฒ„๋“œ์˜ CS50 MOOC(edX)์˜ Web Programming with Python and JavaScript ์ˆ˜์—…์˜ ํ”„๋กœ์ ํŠธ 3.
  • ์˜จ๋ผ์ธ์œผ๋กœ ํ”ผ์ž๋ฅผ ์ฃผ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ.
  • Django๋ฅผ ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์‚ฌ์šฉํ•จ.

๐ŸŒฑ what I learned | ๋ฌด์—‡์„ ๋ฐฐ์› ๋Š”๊ฐ€

This

Importance of Understanding ORM (Object Relational Mapping) with Databases

  • ํด๋ž˜์Šค ์ •์˜์™€ ๊ฐ์ฒด ๊ตฌ๋ถ„ํ•˜๊ธฐ
    • ex. order class: ๊ฐ์ฒด order1, order2 ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
    • class ์ •์˜์— foreignkey field๊ฐ€ ์žˆ์œผ๋ฉด ์ด๊ฑฐ๋Š” ๊ทธ class์˜ __object__์™€ ์—ฐ๊ฒฐ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค! (not the actual class)
  • ๋ชจ๋ธ/table ์—ฐ๊ฒฐ์‹œํ‚ค๊ธฐ
    • inbetween table ์ƒ๊ฐํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ์‹œํ‚ฌ์ง€ ์ƒ๊ฐํ•˜๊ธฐ
  • multiple instance of one model์„ ํ•œ model์˜ object์™€ link.
    • ๋ฐฉ๋ฒ•: ๅคš๊ฐœ์ธ ๋ชจ๋ธ ์•ˆ์— foreign key ์ •์˜ํ•˜์—ฌ ๋‹ค๋ฅธ ๋ชจ๋ธ๊ณผ ์—ฐ๊ฒฐ (๊ทธ๋Ÿผ ํ•˜๋‚˜์ธ ๋ชจ๋ธ์ด related_name์œผ๋กœ ์ •์˜๋˜๋Š” reverse accessor๋กœ ๋‹ค๋ฅธ ๊ฒƒ์„ ๋ชจ๋‘ ์ ‘๊ทผํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค!)
    • ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ!! ํ•˜๋‚˜๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์™€ ์—ฐ๊ฒฐ๋˜๋Š” ๋ชจ์Šต
    • ex. 1 post with multiple images
    • ex. 1 order with multiple pizzas
  • cf) choice option in fields for models vs. creating separate model and accessing by foreign key
    • ๋‘˜ ๋‹ค foreign key๋กœ ์ ‘๊ทผํ•˜๋Š”
    • ex. flight์— origin์œผ๋กœ airport ๊ฐ์ฒด ์ง€์ •๊ฐ€๋Šฅ (flight 1 = ํ™์ฝฉ์—์„œ ์ถœ๋ฐœ)
    • code๋กœ ์ง์ ‘ ์ˆ˜์ •ํ•ด์•ผ ํ•จ vs. admin์—์„œ ์ˆ˜์ • ๊ฐ€๋Šฅ (GUI)
    • ๊ฒฐ๊ตญ, separate model ๋ฐฉ์‹์ด ๋” ๋‚˜์Œ.