Skip to content

jjoyra/CookCreate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

941 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸณCookCreate๐Ÿณ

23.07.04 ~ 23.08.18(7์ฃผ)
๐Ÿ†์šฐ์ˆ˜ ํ”„๋กœ์ ํŠธ ์„ ์ •๐Ÿ†

๐Ÿช ์„œ๋น„์Šค ์†Œ๊ฐœ ๐Ÿช

ํ•จ๊ป˜ ์š”๋ฆฌํ•˜๊ณ , ๋„์›€์ด ํ•„์š”ํ•˜๋ฉด ๋ฐ”๋กœ ์†์„ ๋“œ์„ธ์š”!๐Ÿ™‹

CookCreate๋Š” ์†๋“ค๊ธฐ, ์ฒดํฌ, ํƒ€์ด๋จธ ๋“ฑ์˜ ์ œ์Šค์ฒ˜ ์ธ์‹์„ ํ†ตํ•ด
์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•œ ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ ์š”๋ฆฌ ํ™”์ƒ ๊ณผ์™ธ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

CookCreate์™€ ํ•จ๊ป˜ ๋ง›์žˆ๋Š” ์ง‘๋ฐฅ์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”!

> UCC ๋ณด๋Ÿฌ๊ฐ€๊ธฐ <

๐Ÿช ์„œ๋น„์Šค ํŠน์ง• ๐Ÿช

  1. WebRTC๋ฅผ ํ™œ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ํ™”์ƒ ๊ณผ์™ธ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ํ™”์ƒ ๊ณผ์™ธ ๋‚ด์—์„œ AI ์ œ์Šค์ฒ˜ ์ธ์‹์„ ํ†ตํ•ด ์š”๋ฆฌ ์ค‘์—๋„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ƒํ˜ธ์ž‘์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ํ™”์ƒ ๊ณผ์™ธ ์‹œ๊ฐ„ ์™ธ์—๋„ ์„ ์ƒ๋‹˜๊ณผ ํ•™์ƒ๋“ค์ด ๊ทธ๋ฃน ์ฑ„ํŒ…์„ ํ†ตํ•ด ์†Œํ†ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿช ์ฃผ์š” ๊ธฐ๋Šฅ ๐Ÿช

ํ™”์ƒ ๊ณผ์™ธ

  • ์„ ์ƒ๋‹˜์€ ์˜ˆ์ • ๊ณผ์™ธ ์‹œ๊ฐ„์˜ ํ•œ ์‹œ๊ฐ„ ์ „๋ถ€ํ„ฐ ํ™”์ƒ ๊ณผ์™ธ ์‹œ์ž‘์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•™์ƒ์€ ์„ ์ƒ๋‹˜์ด ํ™”์ƒ ๊ณผ์™ธ๋ฅผ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ์ž…์žฅ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ™”์ƒ ๊ณผ์™ธ ํ™”๋ฉด์—์„œ๋Š” ์„ ์ƒ๋‹˜์ด ์‚ฌ์ „ ์ž…๋ ฅํ•œ ๊ณผ์™ธ ์ง„ํ–‰ ๋‹จ๊ณ„๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ•™์ƒ๋“ค์€ ์ง„ํ–‰๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด ์š”๋ฆฌ๋ฅผ ํ•˜๋Š” ๋™์‹œ์— ํ˜„์žฌ ์ˆ˜์—…์˜ ์ง„ํ–‰ ์‚ฌํ•ญ์„ ์›ํ™œํ•˜๊ฒŒ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ ์ƒ๋‹˜์€ ํ™”๋ฉด ๊ณต์œ ๋ฅผ ํ†ตํ•ด ์‚ฌ์ „ ์ œ์ž‘๋œ ์ˆ˜์—… ์˜์ƒ์„ ํ•™์ƒ๋“ค์—๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ธ์ฆˆํ”„๋ฆฌ ์ œ์Šค์ณ

  • ์†๋“ค๊ธฐ : ์„ ์ƒ๋‹˜์˜ ๋„์›€์ด ํ•„์š”ํ•œ ํ•™์ƒ์€ โœ‹๐Ÿป ์ œ์Šค์ณ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ์ƒ๋‹˜์€ ์† ๋“  ์ˆœ์„œ๋Œ€๋กœ ํ•™์ƒ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ์†๋“ค๊ธฐ๋ฅผ ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฒดํฌ : ์ˆ˜์—…์˜ ํ˜„์žฌ ์ง„ํ–‰ ๋‹จ๊ณ„๋ฅผ ๋งˆ์นœ ํ•™์ƒ์€ โœ”๏ธ ์ œ์Šค์ณ๋ฅผ ํ†ตํ•ด ์ž์‹ ์ด ํ˜„์žฌ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ์ƒ๋‹˜์€ ํ•™์ƒ๋“ค์˜ ์ง„ํ–‰ ๋‹จ๊ณ„ ํ˜„ํ™ฉ์„ ๋ณด๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ์ˆ˜์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํƒ€์ด๋จธ : ์ˆ˜์—… ๋„์ค‘ ํƒ€์ด๋จธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ๐Ÿ‘Œ๐Ÿป ์ œ์Šค์ณ๋ฅผ ํ†ตํ•ด ํƒ€์ด๋จธ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฑ„ํŒ…

  • ๊ณผ์™ธ ์ „ํ›„๋กœ ๊ทธ๋ฃน ์ฑ„ํŒ…๋ฐฉ์„ ์ด์šฉํ•˜์—ฌ ๊ณต์ง€ ๋ฐ ์งˆ์˜์‘๋‹ต์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ ์ƒ๋‹˜์ด ์ฑ„ํŒ…๋ฐฉ์„ ๋‚˜๊ฐ€๋ฉด ๊ทธ๋ฃน ์ฑ„ํŒ…์ด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๐Ÿช ๊ธฐ๋Šฅ๋ณ„ ํ™”๋ฉด ๐Ÿช

๐Ÿด ์‚ฌ์šฉํ•œ ์™ธ๋ถ€ ์„œ๋น„์Šค

๐Ÿด ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ

๐Ÿด ERD ๋‹ค์ด์–ด๊ทธ๋žจ

๐Ÿด ๋ฌธ์„œ ๋งํฌ

๐Ÿงˆ Git-flow ๐Ÿงˆ

  • ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด feature branch๋ฅผ develop branch๋กœ mergeํ•œ๋‹ค.

  • branch ๊ทœ์น™

    master : ์šด์˜ ์„œ๋ฒ„๋กœ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ branch
    develop : ๋‹ค์Œ ์ถœ์‹œ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” branch
    back : backend branch
    front : frontend branch
    feature : ์„ธ๋ถ€ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” branch, branch ์ด๋ฆ„์€ ๊ฐ ๊ธฐ๋Šฅ๋ช…์œผ๋กœ ์ž‘์„ฑ
    hotfix : ๊ธ‰ํ•œ ์—๋Ÿฌ ์ˆ˜์ •

  • feature branch ์ด๋ฆ„ ๊ทœ์น™

    feature/[front or back]/[๊ธฐ๋Šฅ๋ช…]
    ex) feature/back/member
    ex) feature/front/webrtc

๐Ÿงˆ commit conventions ๐Ÿงˆ

ํ˜•์‹

  • ์ปค๋ฐ‹ ํƒ€์ž…: ๋‚ด์šฉ ์ž์„ธํžˆ ์ ์–ด์ฃผ๊ธฐ [#์ง€๋ผ์ด์Šˆ๋„˜๋ฒ„]
  • ex) FEAT: ๋กœ๊ทธ์ธ rest api ์ถ”๊ฐ€ [#์ง€๋ผ์ด์Šˆ๋„˜๋ฒ„]
  • git commit -m "[์ปค๋ฐ‹ํƒ€์ž…] ์ปค๋ฐ‹๋ฉ”์„ธ์ง€ #ํ”„๋กœ์ ํŠธ๋ฒˆํ˜ธ-JIRA์ด์Šˆ๋ฒˆํ˜ธ"

ํƒ€์ž…

FEAT: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ฐ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ
MODIFY: ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ
STYLE: ๊ฐ„๋‹จํ•œ ์ˆ˜์ •, ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ
FIX: ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ
DOCS: ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ(ex> Swagger, README)
COMMENT: ์ฃผ์„ ์ถ”๊ฐ€/์‚ญ์ œ/๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ
RENAME: ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช… ์ˆ˜์ • ๋ฐ ์ด๋™
DELETE: ํŒŒ์ผ ํ˜น์€ ๊ธฐ๋Šฅ ์‚ญ์ œ
CHORE: ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •(ex> dependency ์ถ”๊ฐ€)
REFATOR: ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
MERGE: ์ถฉ๋Œ ์‹œ ๋จธ์ง€, develop ๋ธŒ๋žœ์น˜์— ํ’€๋ฆฌํ€˜ ๋“ฑ

๐Ÿงˆ JIRA ๊ทœ์น™ ๐Ÿงˆ

EPIC

EPIC๋‚ด์— ํ•ด๋‹นํ•˜๋Š” STORY์™€ TASK ์ƒ์„ฑ
ํšŒ์› ๊ด€๋ฆฌ, ๊ณผ์™ธ ๋ชจ์ง‘, ๋ฆฌ๋ทฐ, ํ™”์ƒ ๊ณผ์™ธ, ๊ฒฐ์ œ, ์ฑ„ํŒ…, ๊ธฐํš ์„ค๊ณ„, ๋ฐฐํฌ

STORY

์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ์ž‘์„ฑ
ex) ์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

TASK

TASK๋Š” STORY์— ๋งํฌ๋œ ์ด์Šˆ๋กœ ์ƒ์„ฑ
BE, FE, ์„ค๊ณ„, CSS๋กœ ๋‚˜๋ˆ ์„œ ์ž‘์„ฑ
ex) [BE] ๋กœ๊ทธ์ธ API ๊ตฌํ˜„, [FE] ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„, [์„ค๊ณ„] ๋กœ๊ทธ์ธ ERD ์ž‘์„ฑ

๐Ÿงˆ ํด๋” ๊ตฌ์กฐ ๐Ÿงˆ

backend
  โ”œโ”€ main
  โ”œโ”€ config
  โ”œโ”€ controller
  โ”œโ”€ common
  โ”‚  โ””โ”€ auth
  โ”œโ”€ domain
  โ”‚  โ”œโ”€ entity
  โ”‚  โ”œโ”€ request # dto
  โ”‚  โ””โ”€ response # dto
  โ”œโ”€ repository # dao
  โ”‚  โ””โ”€ impl
  โ””โ”€ service # ์„œ๋น„์Šค
     โ””โ”€ impl<br/>
frontend
  โ”œโ”€โ”€ docker
  โ”œโ”€โ”€ node_modules
  โ”œโ”€โ”€ public
  โ””โ”€โ”€ src
      โ”œโ”€โ”€ assets # image
      โ”œโ”€โ”€ components
      โ”œโ”€โ”€ pages
      โ”œโ”€โ”€ store # redux
      โ””โ”€โ”€ style # css

โœจ ํŒ€์› ์†Œ๊ฐœ โœจ

๋ณ€์˜์ฑ„ ๊น€๊ธฐํ™ ์กฐํฌ๋ผ
BE, ํŒ€์žฅ AI BE
์–‘์ˆ˜์› ์œค์˜ˆ์ง€ ํ™ฉ์ˆ˜์•„
FE FE FE

โœจ ๋งก์€ ์—ญํ•  โœจ

๊น€๊ธฐํ™

  • ๊ธฐ๋Šฅ๋ช…์„ธ์„œ ๋ฌธ์„œํ™” ์ž‘์—…
  • ๊ฐ์ฒดํƒ์ง€ ๋กœ์ง ์„ค๊ณ„๋ฅผ ํ†ตํ•œ ์ œ์Šค์ฒ˜ ํƒ์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • React-Redux๋ฅผ ํ™œ์šฉํ•ด MediaPipe์™€ OpenVidu ์—ฐ๊ฒฐ
  • Docker๋ฅผ ํ™œ์šฉํ•œ OpenVidu ์„œ๋ฒ„ ๋ฐฐํฌ
  • ๋งˆ์ดํŽ˜์ด์ง€ CSS

๋ณ€์˜์ฑ„

  • ๊ธฐ๋Šฅ๋ช…์„ธ์„œ, API ๋ช…์„ธ์„œ, ๋…ธ์…˜ ๋“ฑ์˜ ๋ฌธ์„œํ™” ์ž‘์—…
  • Spring Security, JWT, Redis๋ฅผ ํ™œ์šฉํ•œ ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ API
  • ๊ณผ์™ธ ๊ธ€/๋ฆฌ๋ทฐ CRUD API์™€ ๋งˆ์ดํŽ˜์ด์ง€ API ๊ฐœ๋ฐœ
  • Spring boot์— S3๋ฅผ ์—ฐ๋™ํ•˜์—ฌ ํ”„๋กœํ•„, ์ธ๋„ค์ผ, ์ž๊ฒฉ์ฆ ๋“ฑ์˜ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ
  • Docker๋ฅผ ํ™œ์šฉํ•œ EC2 ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐฐํฌ
  • ๊ณผ์™ธ ๋“ฑ๋ก ๋ฐ ์กฐํšŒ, ๋ชจ๋‹ฌ CSS
  • ์ตœ์ข… ๋ฐœํ‘œ

์–‘์ˆ˜์›

  • ํ™”๋ฉด์„ค๊ณ„์„œ ๋ฌธ์„œํ™” ์ž‘์—…
  • React๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋ฉ”์ธ ํ™”๋ฉด, ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ, ๊ณผ์™ธ CRUD ๊ตฌํ˜„
  • KakaoPay ๊ฒฐ์ œ api๋ฅผ ์ด์šฉํ•˜์—ฌ redirect ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ณผ์™ธ ์‹ ์ฒญ ๋ฐ ํ™˜๋ถˆ ๊ตฌํ˜„
  • Redux Toolkit์„ ์‚ฌ์šฉํ•œ ์Šคํ† ์–ด ๊ตฌ์ถ•
  • ๊ณผ์™ธ ์ˆ˜์ • ๋ฐ 404 ํŽ˜์ด์ง€ CSS
  • ๊ธฐํš ๋ฐœํ‘œ

์œค์˜ˆ์ง€

  • ํ™”๋ฉด์„ค๊ณ„์„œ ๋ฌธ์„œํ™” ์ž‘์—…
  • OpenVidu๋ฅผ ์ด์šฉํ•œ ํ™”์ƒ๊ณผ์™ธ๋ฐฉ ์ƒ์„ฑ ๋ฐ ์ข…๋ฃŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • OpenVidu๋ฅผ ์ด์šฉํ•œ ํ™”์ƒ๊ณผ์™ธ๋ฐฉ ์ƒํ˜ธ์ž‘์šฉ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • Redux Toolkit ๋ฐ Redux Persist ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ์Šคํ† ์–ด ๊ตฌ์ถ•
  • ํ™”์ƒ๊ณผ์™ธ๋ฐฉ ๋ฐ ๋ชจ๋‹ฌ, ๋ ˆ์‹œํ”ผ๋ถ CSS
  • UCC ์ œ์ž‘

์กฐํฌ๋ผ

  • ๊ธฐ๋Šฅ๋ช…์„ธ์„œ, API ๋ช…์„ธ์„œ, ๋…ธ์…˜ ๋“ฑ์˜ ๋ฌธ์„œํ™” ์ž‘์—…
  • Spring Security๋ฅผ ํ™œ์šฉํ•œ ํšŒ์› ์กฐํšŒ ๋ฐ ์ˆ˜์ • API ๊ฐœ๋ฐœ
  • WebSocket, stompjs, Redis๋ฅผ ์ด์šฉํ•œ ์ฑ„ํŒ… API ๊ฐœ๋ฐœ
  • KakaoPay API๋ฅผ ์ด์šฉํ•œ ๊ฒฐ์ œ API ๊ฐœ๋ฐœ
  • Docker, Jenkins๋ฅผ ํ™œ์šฉํ•œ EC2 ํ™˜๊ฒฝ์—์„œ์˜ CI/CD
  • ์„œ๋น„์Šค UI ๋””์ž์ธ
  • ๋ฉ”์ธํŽ˜์ด์ง€ CSS

ํ™ฉ์ˆ˜์•„

  • ํ™”๋ฉด์„ค๊ณ„์„œ ๋ฌธ์„œํ™” ์ž‘์—…
  • React๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํšŒ์› ์ •๋ณด ์ˆ˜์ • ๊ตฌํ˜„
  • stompjs๋ฅผ ํ™œ์šฉํ•œ ์ฑ„ํŒ… client ๊ตฌํ˜„
  • React๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋งˆ์ดํŽ˜์ด์ง€์˜ ๊ณผ์™ธ ๋ชฉ๋ก, ๋ ˆ์‹œํ”ผ๋ถ, ๊ฒฐ์ œ๋‚ด์—ญ ๋ชฉ๋ก ๊ตฌํ˜„
  • React, ๋ชจ๋‹ฌ์„ ์ด์šฉํ•œ ๋ฆฌ๋ทฐ CRUD ๊ตฌํ˜„
  • ์ฑ„ํŒ… CSS

About

๐Ÿณ ํ•ธ์ฆˆํ”„๋ฆฌ ์ œ์Šค์ฒ˜ ์ธ์‹ ์š”๋ฆฌ ํ™”์ƒ ๊ณผ์™ธ ์„œ๋น„์Šค ๐Ÿณ

Resources

Stars

Watchers

Forks

Contributors