PROJECTS

Team Project | ๐ŸŒฒ KPT | iPark ์ตœ์ข…๋ฐœํ‘œ

nicesugi 2022. 8. 17. 16:05

๐Ÿ‘‹ ํฌ์ŠคํŒ… ๋‚ด์šฉ : ๋ฐฐํฌ์ฃผ์†Œ | Github ์ฃผ์†Œ | ์•„ํ‚คํ…์ณ | KPT | ํ”ผ๋“œ๋ฐฑ | ๊ฐœ์„ ์‚ฌํ•ญ | ํŒ€ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 

 โœจ https://www.ilovepark.net

 โœจ Github

https://github.com/2JYK/iPark_django_backend

https://github.com/2JYK/iPark_frontend

 

KEEP (์œ ์ง€ํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„)

  • ๊ธฐํš
    • ๊ธฐ๋Šฅ๋ช…์„ธ์„œ + ํ”ผ๊ทธ๋งˆ + ERD + ์ปจ๋ฒค์…˜ ๋“ฑ
    • ๊ธฐํš์— ๋งž์ถฐ ๊ตฌํ˜„ํ•œ ํ›„ ๋ณด์™„์  ๋ฐ ์ถ”๊ฐ€์ ์„ ์ฐพ์•„ ๋ฐ˜์˜ํ•˜๋Š” ๋ถ€๋ถ„
  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ง„ํ–‰ ๋ฐ ๋ฌธ์„œํ™”
    • ๋ณ€์ˆ˜๋„ค์ด๋ฐ, ๋“ค์—ฌ์“ฐ๊ธฐ, ํƒœ๊ทธ, ์ฃผ์„์„ ์ž‘์„ฑํ•˜์—ฌ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ
  • ๊ธฐ๋ณธ ๊ตฌํ˜„ ์™„์„ฑ ํ›„ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ํ•„์š”ํ•œ ์ตœ์†Œ ๊ธฐ๋Šฅ์„ ๋ชฉํ‘œ์น˜๋กœ ์žก์•„์„œ ๊ตฌํ˜„
    • ๊ตฌํ˜„๋œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๋ฆฌํŒฉํ† ๋ง ์ง„ํ–‰
    • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ํ†ตํ•ด ์™„์„ฑ๋„ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • API ๋ฐ DB ์„ค๊ณ„์— ๋Œ€ํ•œ ๋กœ์ง
    • ๊ธฐํš์— ์ตœ๋Œ€ํ•œ ๋งž์ถ”๋ฉฐ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜
  • RESTful ์„ ์œ„ํ•œ ์„ฑ์žฅ
    • backend, frontend ๋ถ„๋ฆฌ
    • serializer ํ™œ์šฉ
  • ๋ชจ๋ฐ”์ผ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๋ฐ˜์‘ํ˜• ์›น ์ง€์›
  • ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ์ฆ‰๊ฐ ๋ณด์™„
  • github issue, zenhub ํ†ตํ•œ ๊ฐœ์ธ๋ณ„ ์ง„ํ–‰ ์ƒํ™ฉ ํ™•์ธ
  • 4๊ฐœ์›”๊ฐ„ ๋˜˜๋˜˜ ๋ญ‰์นœ ํŒ€์›Œํฌ๊ฐ€ ์•„์‰ฌ์šธ ์ •๋„์˜ ํŒ€์›๋“ค ๊ฐ„ ์žฆ์€ ์†Œํ†ต

 

์•„ํ‚คํ…์ณ (Architecture)

 

PROBLEM (์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ)

1. ๋ณด์™„ (์ดˆ๋ก์ƒ‰ : ํ•ด๊ฒฐ ์™„๋ฃŒ)

2. ํ™•์žฅ

  • ๊ณต์› ์ •๋ณด
    • ์ „๊ตญ ๊ณต์› ์ถ”๊ฐ€
    • ๊ณต์›์˜ ๊ตฌ์ฒด์ ์ธ ์ •๋ณด
      • ๋ฐ˜๋ ค๋™๋ฌผ ๋™๋ฐ˜์ž…์žฅ ๊ฐ€๋Šฅ์—ฌ๋ถ€
      • ์•„์ด๋“ค์ด ๋†€๋งŒํ•œ ํ™˜๊ฒฝ์—ฌใ…‚
    • ๊ณต์› ์‚ฌ์ง„
      • ๊ตฌ์ฒด์ ์ธ ์‚ฌ์ง„
      • ์‚ฌ์ง„ ํ™”์งˆ
    • ๊ณต์›์˜ ์‚ฌ์ง„๋ฆฌ๋ทฐ
    • ์‹œ์„ค
      • ์šด๋™์„ ์œ„์ฃผ๋กœ ๊ณต์›์„ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ๊ณต์› ์„ค๋ช…๋ž€์— “์ฒด๋ ฅ๋‹จ๋ จ์žฅ” ์žˆ์Œ.์œผ๋กœ๋งŒ ๋‚˜์˜ด
        • ๊ตฌ์ฒด์ ์ธ ์‹œ์„ค๋ฌผ๋“ค์ด ๋‹ค ๋‹ค๋ฅด๋‹ˆ ํ•ด๋‹น ๋ถ€๋ถ„์„ ํด๋ฆญํ•˜๋ฉด ์ฒด๋ ฅ๋‹จ๋ ฅ์‹œ์„ค๋ฌผ์˜ ์‚ฌ์ง„์ด ์ถ”๊ฐ€์ ์œผ๋กœ ์ œ์‹œ
      • ๊ทผ์ฒ˜์— ์žˆ๋Š” ์ง€ํ•˜์ฒ ์—ญ์ด๋‚˜ ํŽธ์˜์  ์ •๋ณด
    • ์ฃผ์ฐจ์žฅ
      • ์ฃผ์ฐจ์žฅ ์‚ฌ์ง„
      • ์š”๊ธˆ
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚˜๋ˆ”๋งˆ์ผ“์—์„œ ํ•ด๋‹น๋˜๋Š” ๊ณต์›์ด ์žˆ๋‹ค๋ฉด, ๊ณต์›์˜ ์ƒ์„ธ์ •๋ณด ๋…ธ์ถœ
  • ๋ฌด๋ฃŒ๋‚˜๋ˆ”/์šด๋™/๋ฐ˜๋ ค๋™๋ฌผ์‚ฐ์ฑ…/ ์ด๋Ÿฐ ์‹์œผ๋กœ ์„ธ๋ถ„ํ™”

 

TRY

  • Docker
  • linux
  • nginx
  • gunicorn
  • AWS
  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ

FEEL (๋Š๋‚€ ์ )

  • ์œค์Šฌ๊ธฐ
    • ์˜ˆ์ƒ์™ธ๋กœ ๋งŽ์€ ๋ถ„๋“ค์ด ํ”ผ๋“œ๋ฐฑ์„ ์ •์„ฑ์Šค๋ ˆ ์ ์–ด์ฃผ์…จ๊ณ  ๊ทธ๋งŒํผ ๊ฐ๊ด€์ ์ธ ์‹œ์„ ์œผ๋กœ ๋ฐ›์€ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ ์ข€ ๋” ๊ผผ๊ผผํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์˜๊ฒฌ์€ ์–ด๋–ค์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ๊ณ  ์˜ˆ์ƒ๋ฐ–์˜ ์˜๊ฒฌ์„ ์ ‘ํ–ˆ์„ ๋•Œ๋„ ์ฐธ์‹ ํ•˜๊ณ  ์žฌ๋ฐŒ์—ˆ๋˜ ์ˆœ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ๋ฐฐํฌ๋ฅผ ํ•œ ์„œ๋น„์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋ก ํŠธ์—”๋“œ์— ๋Œ€ํ•œ ์ง€์‹๋„ ํ•„์š”ํ•˜๋‹ค๊ณ  ์–ด๋Š๋•Œ๋ณด๋‹ค ์ ˆ์‹คํžˆ ๋Š๊ผˆ๊ณ , ์‹ค์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋‹น์‹œ์—๋„ ๋ฐฑ์—”๋“œ๋ณด๋‹ค ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌํ˜„์‹œ ์‹œ๊ฐ„์ด ๋” ๋งŽ์ด ๋“ค์–ด๊ฐ„ ๊ฒƒ ๊ฐ™์•„ ๋งŽ์ด ์•„์‰ฝ์Šต๋‹ˆ๋‹ค.
    • ๋ฐฐํฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด docker, nginx, postgres, aws, https ์„ค์ • ๋“ฑ์„ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ๊ณผ์ •์—์„œ ๋ฐฐ์šด ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋Š” ๋ฒ• ์ด์™ธ์—๋„ ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๊ผญ ๊ผญ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผํ•˜๊ณ  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ํ–ˆ๋˜ ๋ฐฐํฌ๊ณผ์ •์„ ํŒ€์›๋“ค์—๊ฒŒ ์•Œ๋ ค์ฃผ๊ณ  ์ธ์ง€์‹œ์ผœ์•ผ๊ฒ ๋‹ค๋ผ๋Š” ๋‹ค์ง์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊น€๊ฒฝ์ˆ˜
    • ์ค‘๊ฐ„ ๊ฐœ๋ฐœ์ด ๋๋‚˜๊ณ  ์‚ฌ์ดํŠธ ๋ฒ„์ „์—…์„ ์œ„ํ•ด ์‚ฌ์šฉ์ž ์„ค๋ฌธ์กฐ์‚ฌ๋ฅผ ์‹ค์‹œ ํ•˜์˜€๊ณ  ์˜ˆ์ƒ ์™ธ๋กœ ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์œผ๋ฉฐ UX๋ฅผ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์ €์˜ ๊ด€์ ์—์„œ๋งŒ ์‚ฌ์ดํŠธ๋ฅผ ์ œ์ž‘ํ•˜์˜€๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์œผ๋ฉฐ ์‚ฌ์šฉ์ž ์ž…์žฅ์„ ๋ฐฐ๋ คํ•˜๋ฉฐ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜์˜€๊ณ  ์ ์  ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์‚ฌ์ดํŠธ๋กœ ๊ฐœ์„ ํ•˜๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณ„๊ธฐ๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ์ƒ๊ฐ ์ž์ฒด๊ฐ€ ๋ฐ”๋€Œ์—ˆ๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์นœ๊ทผํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ๋กœ ๋งˆ์Œ ๋จน์—ˆ์Šต๋‹ˆ๋‹ค. 4๊ฐœ์›”๊ฐ„ ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ•ด์™”๊ณ  ๋ฒŒ์จ ๋งˆ์ง€๋ง‰ ํ”„๋กœ์ ํŠธ ๋ผ๋Š”๊ฒŒ ์•„์‰ฌ์›€์ด ์•ฝ๊ฐ„ ๋‚จ์ง€๋งŒ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ํž˜๋‚ด์„œ iParkํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
  • ์ •๋Œ€๊ทผ
    • ์ค‘๊ฐ„๋ฐœํ‘œ ์ดํ›„ ์‚ฌ์šฉ์ž๋“ค์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ , ํ”„๋กœ์ ํŠธ์˜ ๋ฐฉํ–ฅ๊ณผ ๋งž๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ข… ํ”„๋กœ์ ํŠธ ์ด์ „๊นŒ์ง€์™€ ๋‹ฌ๋ฆฌ ์ง์ ‘ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„ ๋ณด์ด๋Š” ํ”„๋กœ์ ํŠธ์ธ๋งŒํผ ๋ฐฑ์•ค๋“œ๋„ ์—ด์‹ฌํžˆ ๋งŒ๋“ค์—ˆ์ง€๋งŒ, ๊ทธ ์ด์ƒ์œผ๋กœ ํ”„๋ก ํŠธ์•ค๋“œ๋‹จ์— ๋งŽ์€ ์ •์„ฑ์„ ์Ÿ์•˜์Šต๋‹ˆ๋‹ค. ์ง์ ‘ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์ง€๋Š” ๋ชปํ–ˆ์ง€๋งŒ, ๋ฐฐํฌ ์—ฐ์Šต๋„ ํ˜ผ์ž ์ง„ํ–‰ํ•˜๋ฉด์„œ ์›น ์„œ๋น„์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ์‚ด์ง ์•Œ๊ฒŒ ๋œ ํ”„๋กœ์ ํŠธ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ ์–ด๋„ 3๊ฐœ ์ „ ํ”„๋กœ์ ํŠธ์—์„œ ์ด๋ ‡๊ฒŒ ํ–ˆ๋‹ค๋ฉด ์–ผ๋งˆ๋‚˜ ์ข‹์„๊นŒ ์•„์‰ฝ๊ธฐ๋„ ํ•˜์ง€๋งŒ, html๋กœ ์›น ํŽ˜์ด์ง€ ํ•˜๋‚˜ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ๋ฒ„๊ฑฐ์›Œํ–ˆ๋˜ ์ œ๊ฐ€ ์ด์ œ๋Š” ํŒ€์›๋“ค๊ณผ ์„œ๋น„์Šค ๋ฐฐํฌ๋ฅผ ํ•ด ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋นจ๋ฆฌ ์„œ๋น„์Šค๊ฐ€ ์ถœ์‹œ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ๊นŒ์ง€ ๋ฐ›๋Š” ์ €๋กœ ์„ฑ์žฅํ–ˆ๋‹ค๋Š” ๊ฒƒ์ด ๊ธฐ๋ถ„์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.
  • ์ •์ฃผํ˜„
    • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์ด๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐœ์ „ ์‹œํ‚จ ์˜๋ฏธ ์žˆ๋Š” ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ์˜ ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐํš๋ถ€ํ„ฐ ๊ฐœ๋ฐœ, ์—…๊ทธ๋ ˆ์ด๋“œ๊นŒ์ง€ ๋ชจ๋‘ ์ €ํฌ ํŒ€ ์•ˆ์—์„œ ์ง„ํ–‰๋˜์—ˆ์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ์ฒ˜์Œ์œผ๋กœ ๊ฐ๊ด€์ ์ธ ์„œ๋น„์Šค ์‚ฌ์šฉ ๊ฒฝํ—˜์„ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋™์•ˆ ๊ณ ๋ คํ•ด๋ณด์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€์กฑํ•œ ์ ์„ ์•Œ๊ฒŒ ๋˜๊ณ  ๋ฐœ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ์–ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. 4๊ฐœ์›” ๋™์•ˆ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ธฐํš๋ถ€ํ„ฐ ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ํ”ผ๋“œ๋ฐฑ๊นŒ์ง€ ์˜จ์ „ํ•œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์„ฑ์žฅ์„ ํ–ˆ๋‹ค๋Š” ์ œ ์ž์‹ ์— ๋ฟŒ๋“ฏํ•จ์„ ๋Š๊ผˆ๊ณ  ๊ทธ๋งŒํผ ๋ถ€์กฑํ•œ ์ ์„ ๋งŽ์ด ๋Š๋ผ๋Š” ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋ฐœ๊ฒฌ๋˜๋Š” ๋ฌธ์ œ์ ์ด ํ•œ ๋‘ ๊ฐ€์ง€๊ฐ€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•ด๋‚˜๊ฐ€๊ณ  ์ •๋ง ์‚ฌ์šฉ์ž์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ™”์ดํŒ…!
๋ฐ˜์‘ํ˜•