wisePocket

[Flask] Team Project(GameInsight) 00 (๊ฐœ์š”) ๋ณธ๋ฌธ

Python&Flask Tutorials, AWS EB/Flask_Team_Project_GameInsight

[Flask] Team Project(GameInsight) 00 (๊ฐœ์š”)

ohnyong 2023. 8. 9. 23:55

Flask_project_Game_Insight

[Flask] Flask framework ํ”„๋กœ์ ํŠธ(project Game_Insight)

๐Ÿ–ฅ๏ธ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ฒŒ์ž„ ๊ด€๋ จ ๋žญํ‚น, ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ๋ฐ ์œ ์ € ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ํŽ˜์ด์ง€ ์„œ๋น„์Šค

๐Ÿ•ฐ๏ธ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

  • 23.08.09์ผ - 23.08.11์ผ

๐Ÿง‘‍๐Ÿค‍๐Ÿง‘ ๋งด๋ฒ„๊ตฌ์„ฑ

  • (ํŒ€์žฅ) ๊น€์ธ์šฉ - ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์› ๊ฐ€์ž…, ์ˆ˜์ • ๋ฐ ์‚ญ์ œ
  • (ํŒ€์›) ์กฐ์˜์ต - ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ๋ถ€๋ถ„
  • (ํŒ€์›) ์ •๊ฐ•์šฉ - ์œ ์ € ๋ฆฌ๋ทฐ
  • (ํŒ€์›) ๊น€์šฐ์‘ - ๋žญํ‚น ์ •๋ณด

โš™๏ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • MainLanguage : PYTHON
  • IDE : VisualStudio Code 1.79.2 (Universal)
  • Framework : Flask Framework
  • Database : MongoDB(5.0.11) Atlas Cloud
  • SERVER : AWS EB ๋ฐฐํฌ ์˜ˆ์ •

๐Ÿ“Œ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ–ผ๏ธ View ๊ตฌ์„ฑ

  • Header๋ถ€๋ถ„ :
    • ์›น ํŽ˜์ด์ง€ ํƒ€์ดํ‹€(title)
    • ๋„ค๋น„๊ฒŒ์ด์…˜(๋ฉ”๋‰ด)
      • ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ ๋งํฌ
      • ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ ๋งํฌ
      • ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋งํฌ
  • Content๋ถ€๋ถ„ :
    • ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ :
      • (์ „๋ฌธ๊ฐ€)๋ฆฌ๋ทฐ ์ž…๋ ฅ ๋ฐ ๋ชฉ๋ก ์ถœ๋ ฅ
    • ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ :
      • (์œ ์ €)๋ฆฌ๋ทฐ ์ž…๋ ฅ ๋ฐ ๋ชฉ๋ก ์ถœ๋ ฅ
  • Aside ๋ถ€๋ถ„ : ๋ชจ๋“  ํŽ˜์ด์ง€์—์„œ ๋ณด์ด๋„๋ก ํ•จ
    • ๋žญํ‚น ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ :
      • ๋žญํ‚น ๋ฐ์ดํ„ฐ ๋“ฑ ์ž๋ฃŒ ์ถœ๋ ฅ
  • Footer๋ถ€๋ถ„ :
    • ๊ธฐ๋ณธ ๋‚ด์šฉ ์ž…๋ ฅ
  • Modal ๋˜๋Š” ํŒ์—… ์œˆ๋„์šฐ :
    • ํšŒ์› ๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ์ž…๋ ฅ ๋ถ€๋ถ„

โš™ ๊ฐ์ž ๊ธฐ๋Šฅ ์„ค๋ช… ๋ถ€๋ถ„

โœ… ํšŒ์› ๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ - ๊น€์ธ์šฉ

  • ํšŒ์› ๊ฐ€์ž… ์–‘์‹
    • ํšŒ์› ์•„์ด๋””
    • ๋น„๋ฐ€๋ฒˆํ˜ธ
    • ์ด๋ฉ”์ผ ์ฃผ์†Œ
    • ์ด๋ฆ„
    • ์ƒ๋…„์›”์ผ
    • ์ฃผ์†Œ(Daum์ฃผ์†Œ API์—ฐ๋™์€ ์•„์ง ๋ฏธ์ •)
  • ๋กœ๊ทธ์ธ
    • ๊ธฐ๋ณธ ์ •๋ณด
      • DB์˜ ์•„์ด๋””
      • DB์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ
    • ์œ ํšจ์„ฑ ์ฒดํฌ
      • View ํ•„๋“œ๊ฐ’ == DB ํ•„๋“œ๊ฐ’ ๊ฒ€์ฆ
  • ํšŒ์›์ •๋ณด ์ˆ˜์ •, ์‚ญ์ œ(์ผ์ •์ƒ ๋ฏธ์ •)
    • Update, Delete(์‹œ๊ฐ„ ๋‚จ๋Š”๋‹ค๋ฉด ๊ตฌํ˜„ ํ•  ๊ฒƒ)

โœ… ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ - ์กฐ์˜์ต

  • ๋ฆฌ๋ทฐ ์ž‘์„ฑ
    • ์ž…๋ ฅ ์–‘์‹
      • ๊ฒŒ์ž„์˜ ๊ฒŒ์ž„๋ฉ”์นด url
      • ๊ฒŒ์ž„ ํ‰์ (๋ณ„์ )
      • ๊ฒŒ์ž„ ํ•œ์ค„ํ‰
    • ์ €์žฅ ์ •๋ณด
      • url ํฌ๋กค๋ง์„ ํ†ตํ•œ og ์ •๋ณด
        • ๊ฒŒ์ž„ ์ด๋ฆ„
        • ๊ฒŒ์ž„ ์ด๋ฏธ์ง€ ๋งํฌ
      • ๊ฒŒ์ž„ ํ‰์ (๋ณ„์ )
      • ๊ฒŒ์ž„ ํ•œ์ค„ํ‰
      • ๋“ฑ๋ก ๋Œ€์ƒ id
    • ์ž‘์„ฑ์ž ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ๋Œ€์ƒ์—๊ฒŒ๋งŒ ์ž‘์„ฑ ๋ฒ„ํŠผ ๋…ธ์ถœ ํ•„์š”
      • ๋กœ๊ทธ์ธ ์‹œ์— ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ํ•„์š”
  • ๋ฆฌ๋ทฐ ๋ชฉ๋ก ํ˜ธ์ถœ
    • ์ „๋ฌธ๊ฐ€ ํ‰์  ๋ฒ„ํŠผ ์ž…๋ ฅ ์‹œ ๋ฆฌ๋ทฐ ๋ชฉ๋ก ํ˜ธ์ถœ (ํ˜ธ์ถœ ์ˆœ์„œ๋Š” ์ตœ์‹ ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ•„์š”)
    • ์ขŒ์ธก์— ์ด๋ฏธ์ง€, ์šฐ์ธก์—๋Š” ์œ„์—์„œ ์ˆœ์„œ๋Œ€๋กœ ๊ฒŒ์ž„๋ช…, ํ‰์ , ํ•œ์ค„ํ‰, ์ž‘์„ฑ์ž id ๋…ธ์ถœ

โœ… ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ - ์ •๊ฐ•์šฉ

  • ๋ฆฌ๋ทฐ ์ž‘์„ฑ
  • ๋ฆฌ๋ทฐ ๋ชฉ๋ก ํ˜ธ์ถœ

โœ… ๋žญํ‚น ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ - ๊น€์šฐ์‘

  • ๊ฒŒ์ž„๋ฉ”์นด์—์„œ ๋žญํ‚น TOP 10 ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
    • ๊ฒŒ์ž„ ์‚ฌ์ดํŠธ์™€ ๊ฒŒ์ž„ ํšŒ์‚ฌ ํด๋ฆญ์‹œ ์‚ฌ์ดํŠธ ์—ฐ๋™ํ•ด์ฃผ๊ธฐ

Flask_project_Game_Insight

[Flask] Flask framework ํ”„๋กœ์ ํŠธ(project Game_Insight)

๐Ÿ–ฅ๏ธ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ฒŒ์ž„ ๊ด€๋ จ ๋žญํ‚น, ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ๋ฐ ์œ ์ € ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ํŽ˜์ด์ง€ ์„œ๋น„์Šค

๐Ÿ•ฐ๏ธ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

  • 23.08.09์ผ - 23.08.11์ผ

๐Ÿง‘‍๐Ÿค‍๐Ÿง‘ ๋งด๋ฒ„๊ตฌ์„ฑ

  • (ํŒ€์žฅ) ๊น€์ธ์šฉ - ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์› ๊ฐ€์ž…, ์ˆ˜์ • ๋ฐ ์‚ญ์ œ
  • (ํŒ€์›) ์กฐ์˜์ต - ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ๋ถ€๋ถ„
  • (ํŒ€์›) ์ •๊ฐ•์šฉ - ์œ ์ € ๋ฆฌ๋ทฐ
  • (ํŒ€์›) ๊น€์šฐ์‘ - ๋žญํ‚น ์ •๋ณด

โš™๏ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • MainLanguage : PYTHON
  • IDE : VisualStudio Code 1.79.2 (Universal)
  • Framework : Flask Framework
  • Database : MongoDB(5.0.11) Atlas Cloud
  • SERVER : AWS EB ๋ฐฐํฌ ์˜ˆ์ •

๐Ÿ“Œ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ–ผ๏ธ View ๊ตฌ์„ฑ



  • Header๋ถ€๋ถ„ :
    • ์›น ํŽ˜์ด์ง€ ํƒ€์ดํ‹€(title)
    • ๋„ค๋น„๊ฒŒ์ด์…˜(๋ฉ”๋‰ด)
      • ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ ๋งํฌ
      • ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ ๋งํฌ
      • ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋งํฌ
  • Content๋ถ€๋ถ„ :
    • ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ :
      • (์ „๋ฌธ๊ฐ€)๋ฆฌ๋ทฐ ์ž…๋ ฅ ๋ฐ ๋ชฉ๋ก ์ถœ๋ ฅ
    • ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ :
      • (์œ ์ €)๋ฆฌ๋ทฐ ์ž…๋ ฅ ๋ฐ ๋ชฉ๋ก ์ถœ๋ ฅ
  • Aside ๋ถ€๋ถ„ : ๋ชจ๋“  ํŽ˜์ด์ง€์—์„œ ๋ณด์ด๋„๋ก ํ•จ
    • ๋žญํ‚น ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ :
      • ๋žญํ‚น ๋ฐ์ดํ„ฐ ๋“ฑ ์ž๋ฃŒ ์ถœ๋ ฅ
  • Footer๋ถ€๋ถ„ :
    • ๊ธฐ๋ณธ ๋‚ด์šฉ ์ž…๋ ฅ
  • Modal ๋˜๋Š” ํŒ์—… ์œˆ๋„์šฐ :
    • ํšŒ์› ๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ์ž…๋ ฅ ๋ถ€๋ถ„

โš™ ๊ฐ์ž ๊ธฐ๋Šฅ ์„ค๋ช… ๋ถ€๋ถ„

โœ… ํšŒ์› ๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ - ๊น€์ธ์šฉ

  • ํšŒ์› ๊ฐ€์ž… ์–‘์‹
    • ํšŒ์› ์•„์ด๋””
    • ๋น„๋ฐ€๋ฒˆํ˜ธ
    • ์ด๋ฉ”์ผ ์ฃผ์†Œ
    • ์ด๋ฆ„
    • ์ƒ๋…„์›”์ผ
    • ์ฃผ์†Œ(Daum์ฃผ์†Œ API์—ฐ๋™์€ ์•„์ง ๋ฏธ์ •)
  • ๋กœ๊ทธ์ธ
    • ๊ธฐ๋ณธ ์ •๋ณด
      • DB์˜ ์•„์ด๋””
      • DB์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ
    • ์œ ํšจ์„ฑ ์ฒดํฌ
      • View ํ•„๋“œ๊ฐ’ == DB ํ•„๋“œ๊ฐ’ ๊ฒ€์ฆ
  • ํšŒ์›์ •๋ณด ์ˆ˜์ •, ์‚ญ์ œ(์ผ์ •์ƒ ๋ฏธ์ •)
    • Update, Delete(์‹œ๊ฐ„ ๋‚จ๋Š”๋‹ค๋ฉด ๊ตฌํ˜„ ํ•  ๊ฒƒ)

โœ… ์ „๋ฌธ๊ฐ€ ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ - ์กฐ์˜์ต

  • ๋ฆฌ๋ทฐ ์ž‘์„ฑ
    • ์ž…๋ ฅ ์–‘์‹
      • ๊ฒŒ์ž„์˜ ๊ฒŒ์ž„๋ฉ”์นด url
      • ๊ฒŒ์ž„ ํ‰์ (๋ณ„์ )
      • ๊ฒŒ์ž„ ํ•œ์ค„ํ‰
    • ์ €์žฅ ์ •๋ณด
      • url ํฌ๋กค๋ง์„ ํ†ตํ•œ og ์ •๋ณด
        • ๊ฒŒ์ž„ ์ด๋ฆ„
        • ๊ฒŒ์ž„ ์ด๋ฏธ์ง€ ๋งํฌ
      • ๊ฒŒ์ž„ ํ‰์ (๋ณ„์ )
      • ๊ฒŒ์ž„ ํ•œ์ค„ํ‰
      • ๋“ฑ๋ก ๋Œ€์ƒ id
    • ์ž‘์„ฑ์ž ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ๋Œ€์ƒ์—๊ฒŒ๋งŒ ์ž‘์„ฑ ๋ฒ„ํŠผ ๋…ธ์ถœ ํ•„์š”
      • ๋กœ๊ทธ์ธ ์‹œ์— ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ํ•„์š”
  • ๋ฆฌ๋ทฐ ๋ชฉ๋ก ํ˜ธ์ถœ
    • ์ „๋ฌธ๊ฐ€ ํ‰์  ๋ฒ„ํŠผ ์ž…๋ ฅ ์‹œ ๋ฆฌ๋ทฐ ๋ชฉ๋ก ํ˜ธ์ถœ (ํ˜ธ์ถœ ์ˆœ์„œ๋Š” ์ตœ์‹ ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ•„์š”)
    • ์ขŒ์ธก์— ์ด๋ฏธ์ง€, ์šฐ์ธก์—๋Š” ์œ„์—์„œ ์ˆœ์„œ๋Œ€๋กœ ๊ฒŒ์ž„๋ช…, ํ‰์ , ํ•œ์ค„ํ‰, ์ž‘์„ฑ์ž id ๋…ธ์ถœ

โœ… ์‚ฌ์šฉ์ž ๋ฆฌ๋ทฐ ํŽ˜์ด์ง€ - ์ •๊ฐ•์šฉ

  • ๋ฆฌ๋ทฐ ์ž‘์„ฑ
  • ๋ฆฌ๋ทฐ ๋ชฉ๋ก ํ˜ธ์ถœ

โœ… ๋žญํ‚น ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ - ๊น€์šฐ์‘

  • ๊ฒŒ์ž„๋ฉ”์นด์—์„œ ๋žญํ‚น TOP 10 ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
    • ๊ฒŒ์ž„ ์‚ฌ์ดํŠธ์™€ ๊ฒŒ์ž„ ํšŒ์‚ฌ ํด๋ฆญ์‹œ ์‚ฌ์ดํŠธ ์—ฐ๋™ํ•ด์ฃผ๊ธฐ

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ์™€ ํŒ€ ์†Œ๊ฐœ๋Š” ๋‹ค์Œ ๋…ธ์…˜ ํŽ˜์ด์ง€์—์„œ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://ohnyong.notion.site/GameInsight-536ac8bfbd5445f19dff65eeddd385b4?pvs=4 

 

GameInsight

๊ฒŒ์ž„์ธ์‚ฌ์ดํŠธ๋Š” ๊ฐ„ํŽธํ•œ ๊ฒŒ์ž„ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.

ohnyong.notion.site


ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋Š” ์•„๋ž˜ ๊นƒ์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/yzpocket/GameInsight

 

GitHub - yzpocket/GameInsight

Contribute to yzpocket/GameInsight development by creating an account on GitHub.

github.com