Skip to content
@Unid-2024-Team9

Unid-2024-Team9

Cookease - ์œ ๋‹ˆ๋“œ 2024 ํ•ด์ปคํ†ค 9ํŒ€

Cookease์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ์œ ๋‹ˆ๋“œ 2024 ํ•ด์ปคํ†ค์—์„œ 9ํŒ€์ด ๊ฐœ๋ฐœํ•œ ์ด ํ”„๋กœ์ ํŠธ๋Š” 1์ธ ๊ฐ€๊ตฌ๋ฅผ ์œ„ํ•œ ํ˜์‹ ์ ์ธ ์š”๋ฆฌ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฃผ๋กœ ํ˜ผ์ž ์ƒํ™œํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์‹์žฌ๋ฃŒ ๊ด€๋ฆฌ์™€ ์š”๋ฆฌ์˜ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์žฌ๋ฃŒ ๋‚ญ๋น„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

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

์ฃผ์š” ๊ธฐ๋Šฅ

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

๊ธฐ์ˆ  ์Šคํƒ

Cookease๋Š” ์ตœ์‹  ์›น ๊ฐœ๋ฐœ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋œ 1์ธ ๊ฐ€๊ตฌ๋ฅผ ์œ„ํ•œ ์š”๋ฆฌ ์†”๋ฃจ์…˜ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๋ฉฐ, ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ API๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ

๋ฐฑ์—”๋“œ๋Š” Java์™€ Spring Framework๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์•ˆ์ •์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๊ฐ–์ถ˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜์˜€์œผ๋ฉฐ, ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Spring Framework: ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, RESTful API ๊ตฌ์ถ•, ์˜์กด์„ฑ ์ฃผ์ž…, ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Java: ๋†’์€ ์•ˆ์ •์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๊ฐ–์ถ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ๋ฐฑ์—”๋“œ์˜ ์ฃผ์š” ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ(RDBMS)์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •๋ณด, ๋ ˆ์‹œํ”ผ ๋ฐ์ดํ„ฐ, ์‹์žฌ๋ฃŒ ์ •๋ณด, ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ์„ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Kakao API: ์นด์นด์˜ค ๊ณ„์ • ์—ฐ๋™์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ„ํŽธํ•˜๊ฒŒ Cookease์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ

ํ”„๋ก ํŠธ์—”๋“œ๋Š” Next.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)๊ณผ ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ(SSG) ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋น ๋ฅธ ๋กœ๋”ฉ ์†๋„์™€ SEO ์ตœ์ ํ™”๋ฅผ ๋„๋ชจํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  • Next.js: React ๊ธฐ๋ฐ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง๊ณผ ์ •์  ํŒŒ์ผ ์ƒ์„ฑ์„ ํ†ตํ•ด ์ตœ์ ํ™”๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Tesseract.js: OCR ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์˜์ˆ˜์ฆ, ๋ผ๋ฒจ ๋“ฑ์—์„œ ํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์‹์žฌ๋ฃŒ๋ฅผ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Axios: API ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” HTTP ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, Cookease์˜ ๋ฐฑ์—”๋“œ์™€ ํ†ต์‹ ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์ „์†กํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • Redux: ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด Redux๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ๋ ˆ์‹œํ”ผ ๋ฐ์ดํ„ฐ, ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ์ •๋ณด ๋“ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „๋ฐ˜์ ์ธ ์ƒํƒœ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Styled-Components: CSS-in-JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ์„ ์ฝ”๋“œ ๋‚ด์—์„œ ๊ด€๋ฆฌํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ณ , ์ปดํฌ๋„ŒํŠธ๋ณ„ ์Šคํƒ€์ผ๋ง์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ๋ณด์•ˆ

  • JWT (JSON Web Token): ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๋ณด์•ˆ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด JWT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์„ธ์…˜์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ด€๋ฆฌ: dotenv๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ค‘์š”ํ•œ API ํ‚ค์™€ ํ™˜๊ฒฝ ์„ค์ • ๊ฐ’์„ .env ํŒŒ์ผ์— ๋ณด๊ด€ํ•จ์œผ๋กœ์จ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ฒ˜ ๋ฐ ํ†ต์‹ 

  • RESTful API: ๋ฐฑ์—”๋“œ๋Š” RESTful API๋ฅผ ํ†ตํ•ด ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋งž์ถ˜ ๊ณ„์ธตํ˜• ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹์„ ํ†ตํ•ด ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ณ  ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ: ๋น„๋™๊ธฐ ์š”์ฒญ์„ ํ†ตํ•ด ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ €ํ•ดํ•˜์ง€ ์•Š๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ Promise์™€ async/await ๋ฌธ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ API ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๋ฐฐํฌ

  • GitHub: ํ”„๋กœ์ ํŠธ ์†Œ์Šค ์ฝ”๋“œ๋Š” GitHub๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ๋˜๋ฉฐ, ๋ฐฑ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋งํฌ์™€ ํ”„๋ก ํŠธ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋งํฌ๋ฅผ ํ†ตํ•ด ์†Œ์Šค ์ฝ”๋“œ์™€ ์—…๋ฐ์ดํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐํฌ: ํ˜„์žฌ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ˜•ํƒœ๋กœ ๋ฐฐํฌ๋˜์—ˆ์œผ๋ฉฐ, ํ–ฅํ›„ iOS ๋ฐ Android ์•ฑ ๊ฐœ๋ฐœ์„ ํ†ตํ•ด ๋ชจ๋ฐ”์ผ ์‚ฌ์šฉ์ž์ธต์œผ๋กœ ํ™•์žฅํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

โ€”

์ด์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ์ตœ์‹  ๊ธฐ์ˆ ์ด ์œ ๊ธฐ์ ์œผ๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ Cookease์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Popular repositories Loading

  1. Cookease-frontend Cookease-frontend Public

    TypeScript

  2. Cookease-backend Cookease-backend Public

    1์ธ๋ถ„ Recipe~!

    Java

  3. .github .github Public

Repositories

Showing 3 of 3 repositories

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ