Skip to content

๐Ÿ†๊ฐ€๋ฌผ๊ฐ€๋ฌผ : ๋น…๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ๋ฌผ๊ฐ€๊ธฐ๋ฐ˜ ์‹์žฌ๋ฃŒ ๊ฐ€๊ฒฉ ์ •๋ณด ์ œ๊ณต ์›น์•ฑ ์„œ๋น„์Šค - ๐Ÿฅ‡SSAFY 7๊ธฐ ํŠนํ™”ํ”„๋กœ์ ํŠธ ์šฐ์ˆ˜์ƒ 1๋“ฑ(2022.10.07)

avatime/gamul-gamul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AVATIME

โ†‘ GIF ํŒŒ์ผ์„ ํด๋ฆญํ•˜๋ฉด UCC๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!


๋ชฉ์ฐจ

  1. ์„œ๋น„์Šค ์†Œ๊ฐœ
  2. ๊ธฐํš ๋ฐฐ๊ฒฝ
  3. ๊ธฐ๋Šฅ ์†Œ๊ฐœ
  4. ๊ธฐ์ˆ  ์Šคํƒ
  5. ํ”„๋กœ์ ํŠธ ์ผ์ • ๋ฐ ์‚ฐ์ถœ๋ฌผ
  6. ๊ฐœ๋ฐœ ๋ฉค๋ฒ„ ๋ฐ ํšŒ๊ณ 



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

thumb-2 thumb-3

์„œ๋น„์Šค ์„ค๋ช…

๊ฐœ์š”

  • ํ•œ์ค„ ์†Œ๊ฐœ : ๋ฌผ๊ฐ€ ์ •๋ณด & ์š”๋ฆฌ๋ฒ• ์กฐํšŒ ์„œ๋น„์Šค
  • ์„œ๋น„์Šค ๋ช… : ๊ฐ€๋ฌผ๊ฐ€๋ฌผ

ํƒ€๊ฒŸ ๐ŸŽฏ

  • ์‹ํƒ ๋ฌผ๊ฐ€์— ๋ฏผ๊ฐํ•œ ์ฃผ๋ถ€๋“ค
  • ์‹์žฌ๋ฃŒ ์›๊ฐ€๋ฅผ ์ผ ๋‹จ์œ„๋กœ ํŒŒ์•…ํ•˜๊ณ  ์‹ถ์€ ์ž์˜์—…์ž๋“ค
  • ์˜ค๋Š˜์€ ๋ญ˜ ๋จน์„์ง€ ๊ณ ๋ฏผํ•˜๋Š” ์ž์ทจ์ƒ๋“ค

๐ŸŒ ๊ธฐํš ๋ฐฐ๊ฒฝ

๋ชฉ์  ๐Ÿฅ…

์‹์žฌ๋ฃŒ์˜ ๊ฐ€๊ฒฉ ๋ณ€๋™๊ณผ ์š”๋ฆฌ๋ฒ•์„ ํ•œ๋ˆˆ์— ํ™•์ธํ•˜์ž

์˜์˜

  • ๋ฌผ๊ฐ€ ๋ณ€๋™์„ ํ™•์ธํ•˜์—ฌ ์ตœ์ €๊ฐ€ ๊ตฌ๋งค ๋ฃจํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‚˜๋งŒ์˜ ์š”๋ฆฌ๋ฒ• ๋“ฑ๋ก์œผ๋กœ ํ•„์š”ํ•œ ์‹์žฌ๋ฃŒ๋“ค์˜ ๊ฐ€๊ฒฉ๋ณ€๋™์„ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‹์žฌ๋ฃŒ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๊ด€๋ จ๋œ ์š”๋ฆฌ๋ฒ•์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

๐ŸŒฝ ๊ธฐ๋Šฅ ์†Œ๊ฐœ

๊ธฐ๋Šฅ์†Œ๊ฐœ-01 ๊ธฐ๋Šฅ์†Œ๊ฐœ-02 ๊ธฐ๋Šฅ์†Œ๊ฐœ-03 ๊ธฐ๋Šฅ์†Œ๊ฐœ-04 ๊ธฐ๋Šฅ์†Œ๊ฐœ-05 ๊ธฐ๋Šฅ์†Œ๊ฐœ-06 ๊ธฐ๋Šฅ์†Œ๊ฐœ-07 ๊ธฐ๋Šฅ์†Œ๊ฐœ-08 ๊ธฐ๋Šฅ์†Œ๊ฐœ-09 ๊ธฐ๋Šฅ์†Œ๊ฐœ-10 ๊ธฐ๋Šฅ์†Œ๊ฐœ-11 ๊ธฐ๋Šฅ์†Œ๊ฐœ-12 ๊ธฐ๋Šฅ์†Œ๊ฐœ-13 ๊ธฐ๋Šฅ์†Œ๊ฐœ-14 ๊ธฐ๋Šฅ์†Œ๊ฐœ-15 ๊ธฐ๋Šฅ์†Œ๊ฐœ-16 ๊ธฐ๋Šฅ์†Œ๊ฐœ-17 ๊ธฐ๋Šฅ์†Œ๊ฐœ-18 ๊ธฐ๋Šฅ์†Œ๊ฐœ-19 ๊ธฐ๋Šฅ์†Œ๊ฐœ-20 ๊ธฐ๋Šฅ์†Œ๊ฐœ-21

๐Ÿฉ ๊ธฐ์ˆ  ์Šคํƒ

๋ฌธ์ž์—ด ์œ ์‚ฌ๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜

15๋งŒ๊ฐœ์˜ ๋ ˆ์‹œํ”ผ์—์„œ ์ œ๊ฐ๊ฐ์˜ ์‹์žฌ๋ฃŒ๋“ค์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฌธ์ž์—ด ์œ ์‚ฌ๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๋งคํ•‘ ๊ณผ์ • ์ง„ํ–‰.

ํŽธ์ง‘๊ฑฐ๋ฆฌ Jaro ์•Œ๊ณ ๋ฆฌ์ฆ˜

Jaro

๋‘ ๋ฌธ์ž์—ด์ด ๊ฐ™์•„์ง€๋ ค๋ฉด ๋ช‡ ๋ฒˆ์˜ ๋ฌธ์ž ์กฐ์ž‘์ด ํ•„์š”ํ•œ์ง€ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ•˜๋‘ก (High Availability Distributed Object Oriented Platform: ๊ณ ๊ฐ€์šฉ์„ฑ ๋ถ„์‚ฐํ˜• ๊ฐ์ฒด ์ง€ํ–ฅ์  ํ”Œ๋žซํผ)

ํ•˜๋‘ก

Apache Hadoop์€ ์˜คํ”ˆ ์†Œ์Šค, Java ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋žซํผ์œผ๋กœ ๋น…๋ฐ์ดํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• .

ํ•˜๋‘ก ํ”Œ๋žซํผ์€ ์ปดํ“จํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด ์—ฌ๋Ÿฌ ๋…ธ๋“œ์— ๊ฑธ์ณ ํ•˜๋‘ก ๋น…๋ฐ์ดํ„ฐ์™€ ๋ถ„์„ ์ž‘์—…์„ ๋ถ„๋ฐฐํ•˜๋ฉฐ, ๊ทธ ๊ณผ์ •์—์„œ ์ž‘์—…์„ ๋ณ‘๋ ฌ์‹์œผ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ž‘์€ ํฌ๊ธฐ์˜ ์›Œํฌ๋กœ๋“œ๋กœ ๋ถ„ํ•ด.

ํ•˜๋‘ก์˜ ํ•„์š”์„ฑ

ํ•˜๋‘ก

์•ฝ 2.8์–ต๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ, ํ•˜๋‘ก์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด 25.69s์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜์ง€๋งŒ, ํ•˜๋‘ก์„ ์ ์šฉํ•˜๋ฉด 654ms๋กœ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์Œ.

ํ•˜์ด๋ธŒ

ํ•˜์ด๋ธŒ

ํ•˜์ด๋ธŒ๋Š” ํ•˜๋‘ก ์—์ฝ”์‹œ์Šคํ…œ ์ค‘์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋ธ๋งํ•˜๊ณ  ํ”„๋กœ์„ธ์‹ฑํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์ง•์šฉ ์†”๋ฃจ์…˜.

RDB์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ HDFS์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ SQL๊ณผ ์œ ์‚ฌํ•œ HiveQL ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณต.

PWA

PWA

์ธํ„ฐ๋„ท ์›น์‚ฌ์ดํŠธ์˜ ํŒŒ์ผ๋“ค(html, javascript, css ๋“ฑ)์„ ์บ์‹ฑํ•ด๋†จ๋‹ค๊ฐ€ ๋‹ค์‹œ ์š”์ฒญ์ด ์˜ฌ ๋•Œ ์บ์‹ฑ๋œ ํŒŒ์ผ๋“ค์„ ๋จผ์ € ๋ณด์—ฌ์ฃผ๊ณ  ํ•„์š”ํ•  ๋–„ ์›น์„œ๋ฒ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ์ˆ .

๋˜ ํ™ˆ์— ๋ฐ”๋กœ ๊ฐ€๊ธฐ ์•„์ด์ฝ˜์„ ์„ค์น˜ ํ•  ์ˆ˜ ์žˆ์–ด ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ.

๐Ÿ† ํ”„๋กœ์ ํŠธ ์ผ์ • ๋ฐ ์‚ฐ์ถœ๋ฌผ

ํ”„๋กœ์ ํŠธ ์ผ์ •

์ผ์ •

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰

1. Git flow


Git flow ์‚ฌ์šฉ์„ ์œ„ํ•ด sourcetree ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์˜€๊ณ  ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค์˜ git flow์„ ์ฐธ๊ณ .

front ์™€ back ์œผ๋กœ ๋‚˜๋ˆ„์–ด faature์˜ ํ•˜์œ„ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€์œผ๋ฉฐ ๋งค์ผ ์˜ค์ „ ์Šคํฌ๋Ÿผ ์ดํ›„ back ๋ธŒ๋žœ์น˜์™€ front ๋ธŒ๋žœ์น˜๋กœ merge ํ•˜์—ฌ ์‚ฌ์šฉ.

commit message๋Š” feat(๊ธฐ๋Šฅ๋ช…): ๋‚ด์šฉ ๊ณผ ๊ฐ™์ด ํ†ต์ผํ•˜์—ฌ ์ž‘์„ฑ.

์†Œ์ŠคํŠธ๋ฆฌ


2. Jira


๋งค์ฃผ ์›”์š”์ผ ์˜ค์ „ ํšŒ์˜์—์„œ ๊ธˆ์ฃผ์˜ ์ง„ํ–‰ ์ด์Šˆ๋ฅผ ๋ฐฑ๋กœ๊ทธ์— ๋“ฑ๋ก.

์ „์ฃผ์— ์™„๋ฃŒํ•˜์ง€ ๋ชปํ•œ ์ด์Šˆ๋‚˜, ์•ž์œผ๋กœ ์ง„ํ–‰ํ•  ์ด์Šˆ๋“ค์„ ์ถ”๊ฐ€ํ•จ.

  • ์—ํ”ฝ์€ ํšŒ์›, ๋ฏธํŒ…, ์„ค๊ณ„ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ.
  • ๋ ˆ์ด๋ธ”์€ BE, FE, full ์œผ๋กœ ๊ตฌ์„ฑ.
  • ์Šคํ† ๋ฆฌ๋Š” ๋ช…ํ™•ํ•œ ์ „๋‹ฌ์„ ์œ„ํ•˜์—ฌ API ๋ช…์„ธ์„œ ์ž‘์„ฑ์™€ ๊ฐ™์ด ์ž‘์„ฑ.
  • ์ž‘์—…ํ˜„ํ™ฉ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ง€๋ผ์— ๋ฐ˜์˜ํ•˜์—ฌ ํ˜„์žฌ ํŒ€์›์ด ์–ด๋–ค ์ž‘์—…์„ ํ•˜๊ณ ์žˆ๋Š”์ง€, ์ผ์ •์— ๋”œ๋ ˆ์ด๊ฐ€ ์žˆ๋Š”์ง€ ํ•œ ๋ˆˆ์— ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.

์ง€๋ผ

ํ”„๋กœ์ ํŠธ ์‚ฐ์ถœ๋ฌผ

1. Figma

  • ๋ชจ๋ฐ”์ผ ํ”ผ๊ทธ๋งˆ

  • ๋ฐ์Šคํฌํƒ‘ ํ”ผ๊ทธ๋งˆ


2. ERD

erd

3. API ๋ฌธ์„œ

api

๐ŸŸ ๊ฐœ๋ฐœ ๋ฉค๋ฒ„ ๋ฐ ํšŒ๊ณ 

๊ฐœ๋ฐœ๋ฉค๋ฒ„

  • ๋ฏผ๊ฒฝ์šฑ : Hadoop Ecosystem์„ ์ฒ˜์Œ ๊ตฌ์ถ•ํ•ด๋ณธ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. 3์ฃผ์ฐจ ์ค‘๊ฐ„๋ฐœํ‘œ ์ดํ›„์— ubunto ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์žฌ์„ค์น˜ํ•˜๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Hive๋ฅผ Tez engine์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ํ–ˆ์ง€๋งŒ ์›ํ™œํ•˜์ง€ ์•Š์•˜๋˜๊ฒŒ ์ด์œ ์˜€์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ค‘๊ฐ„๋‹จ๊ณ„์—์„œ ํ™˜๊ฒฝ ์žฌ์„ค์น˜๋ผ๋Š” ํฐ ๊ฒฐ์‹ฌ์„ ํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ์˜ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ์ž˜ ํ•ด๋‚ผ ์ˆ˜ ์žˆ์„๊นŒ ๊ฑฑ์ •ํ–ˆ์—ˆ์ง€๋งŒ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฒช์œผ๋ฉฐ ๋” ํƒ„ํƒ„ํ•ด์ง€๋Š” ๋Š๋‚Œ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. Linux ํ™˜๊ฒฝ๊ณผ HDFS์— ์ €์žฅํ•˜๋Š” ๋ชจ๋“  ๊ฒฝํ—˜๋“ค์ด ์ฒ˜์Œ์ด์—ˆ์ง€๋งŒ ์‹คํŒจ๋ฅผ ๋ฐ˜๋ณตํ–ˆ๋˜ ๊ฒƒ์ด ๊ฒฐ๊ตญ์—๋Š” ๋” ์ข‹์€ ์˜ํ–ฅ์œผ๋กœ ๋Œ์•„์™”๋‹ค๋Š” ๊ฒƒ์„ ์‹ค๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ํ›„๋ฐ˜์—์„  Sqoop์„ ์‚ฌ์šฉํ•˜์—ฌ HDFS์™€ RDB๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•˜๊ณ  ์‹ค์ œ ์ ์šฉ๋˜๋Š” ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋ฅผ ๋ณด๋ฉฐ ๋งŒ์กฑ์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค.

  • ๊น€์ฐฌ์˜ : ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ์˜€๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ง‘ํ•˜๊ณ  ์ •์ œํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ๋‚˜ 3์–ต๊ฑด ๊ฐ€๊นŒ์ด ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ DB์— ์ง์ ‘ ๋„ฃ๊ณ  ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์™€ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ์ด ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ •์ œ, ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ์ฃผ๋กœ ๋งก์•„์„œ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. Spring boot๋ฅผ ์‚ฌ์šฉํ•œ 2๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ์˜€๋Š”๋ฐ, ์ด์ „๋ณด๋‹ค JPA ์‚ฌ์šฉ์— ์ต์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ๊ณ , Spring boot์—์„œ ์™ธ๋ถ€ API ์—ฐ๋™, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋“ฑ์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ API์™€ ํฌ๋กค๋ง์„ ํ†ตํ•ด ํ•˜๋‘ก์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ด๊ณ  ํ•˜๋‘ก ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ œํ•˜๊ณ  DB์— ์ ์žฌํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ด์ง€๋‚˜ : ๊ฐ€๋ฌผ๊ฐ€๋ฌผ์„ ์ž‘์—…ํ•˜๋ฉฐ ๊ธฐ์กด์— ์žˆ๋˜ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ด๋Š” ๋™์‹œ์— ์ƒˆ๋กœ์šด ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ๋“ค์„ ์ ‘ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. MySQL๊ณผ JPA์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋†’์•„์กŒ์œผ๋ฉฐ, JWT์— ๋Œ€ํ•ด ์‹ฌ๋„ ์žˆ๊ฒŒ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. OCR ์ ์šฉ, MySQL๊ณผ Spring ์Šค์ผ€์ค„๋ง, Docker, Jenkins์™€ ๊ฐ™์€ ์‹ ๊ธฐ์ˆ  ์ ์šฉ ๊ณผ์ •์„ ํ†ตํ•ด ํฐ ๋ณด๋žŒ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. OCR์„ ํ†ตํ•œ ์˜์ˆ˜์ฆ ์Šค์บ”๊ณผ ์Šค์ผ€์ค„๋ง์„ ์ด์šฉํ•ด ํŠน์ • ์‹œ๊ฐ„๋งˆ๋‹ค ํŠน์ • ์กฐ๊ฑด์— ๋งž๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์ด ์„ฑ๊ณตํ–ˆ์„ ๋•Œ๋„ ๋ฟŒ๋“ฏํ–ˆ์ง€๋งŒ, ์„œ๋ฒ„ ๋ฐ ์ž๋™ ๋ฐฐํฌ ํ™˜๊ฒฝ ๊ตฌ์ถ•์— ์„ฑ๊ณตํ•˜์—ฌ ์ˆ˜์ •์‚ฌํ•ญ์ด ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค ์ด๋ค„์กŒ๋˜ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—… ๊ณผ์ •์„ ํฌ๊ฒŒ ๋‹จ์ถ•ํ–ˆ์„ ๋•Œ๊ฐ€ ๊ฐ€์žฅ ๋ฟŒ๋“ฏํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ํ•œ ๋‘ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ์ธ๋ฐ, ํŒ€์›๋“ค ๋ชจ๋‘ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ์—์„œ๋ณด๋‹ค ๋” ๋ฐœ์ „๋œ ๋ชจ์Šต์„ ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งˆ๊ฐ ์‹œ๊ธฐ์— ๋งž์ถฐ ๋ฐค์ƒˆ์›Œ๊ฐ€๋ฉฐ ์™„์„ฑ๋„๋ฅผ ๋†’์—ฌ๊ฐ€๋Š” ๋ชจ์Šต์— ํฐ ๊ณ ๋งˆ์›€์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ์‚ฌ์šฉ์— ์žˆ์–ด ๋งค์šฐ ์ ๊ทน์ ์ธ ํƒœ๋„๋ฅผ ๋ณด์—ฌ์ค˜์„œ ๊ธ์ •์ ์ธ ์ž๊ทน์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋•๋ถ„์— ๋‹น๋‹นํ•˜๊ฒŒ ๋‚ด๋†“์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ€๋ฌผ๊ฐ€๋ฌผ ํŒ€์›๋“ค ๋ชจ๋‘ ๋ชจ๋‘ ๊ณ ์ƒํ•˜์…จ๊ณ  ๋Š˜ ํ–‰๋ณตํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค~!!!

  • ์ด์ฃผ์˜ : Next.js๋ฅผ ํ•™์Šตํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด๋ฉด์„œ SSR์˜ ์œ„๋Œ€ํ•จ์„ ๋ชธ์†Œ ๋Š๊ปด๋ณด๋Š” ์ข‹์€ ๊ฒฝํ—˜์ด์˜€์Šต๋‹ˆ๋‹ค. ๋˜, ๋ฐ˜์‘ํ˜• UI์™€ PWA๋ฅผ ํ™œ์šฉํ•ด ์–ด๋Š ํ™˜๊ฒฝ์—์„œ๋„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์•ฑ์„ ๊ฐœ๋ฐœํ•ด๋ณด๋ฉฐ ์šด์˜์ฒด์ œ๋ฅผ ํƒ€์ง€ ์•Š๋Š” ์›น ์•ฑ์˜ ์žฅ์ ๊ณผ ๋ชจ๋ฐ”์ผ ์•ฑ๊ณผ ๋น„๊ต๋˜๋Š” ํ•œ๊ณ„๋„ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ƒ์„ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ํŒ€์›๋“ค์ด ์—ด์‹ฌํžˆ ํ•ด์ค€ ๋•๋ถ„์— ์ข‹์€ ์ƒ๊นŒ์ง€ ๋ฐ›์„ ์ˆ˜ ์žˆ๋˜ ๊ฒƒ ๊ฐ™๊ณ , 7์ฃผ ๋™์•ˆ ๊ณ ์ƒํ•œ ํŒ€์›๋“ค์—๊ฒŒ ๊ณ ๋ง™๋‹ค๋Š” ๋ง์„ ์ „ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋„ ๊ผญ ์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋‚ด 3๊ฐœ์˜ ํ”„๋กœ์ ํŠธ ๋ชจ๋‘ ์ˆ˜์ƒํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! ๊ฐ€์ฆˆ์•„ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…

  • ์ •๊ฑด์šฐ : React๋ฅผ ์‚ฌ์šฉํ•œ ๋‘ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ์—ฌ์„œ ๊ทธ๋Ÿฐ์ง€ ์ด์ „์— ๋น„ํ•ด CSS์™€ ๋งŽ์ด ์นœํ•ด์ ธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž์œ ์ž์žฌ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Next.JS๋ฅผ ์ฒ˜์Œ ์ ์šฉํ•ด๋ณด๋Š” ๊ณผ์ •์—์„œ ์ด์ „ ๋ฐฉ์‹๊ณผ ๋งŽ์ด ๋‹ฌ๋ผ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๊ณ , ์„œ๋น„์Šค๋ฅผ ๋ฐ˜์‘ํ˜• ์›น์œผ๋กœ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํ™”๋ฉด ์„ค๊ณ„๋ฅผ PC, Tablet, Mobile ๋ฒ„์ „์œผ๋กœ ๋ชจ๋‘ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ๊ธฐ์— ์ž‘์—…๋Ÿ‰์ด ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์•„ ์ผ์ •์ด ๋น ๋“ฏํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ด๋ฒˆ์—๋Š” ๊ธฐํš ๋ฐ ์„ค๊ณ„ ๋‹จ๊ณ„์— ์‹œ๊ฐ„์„ ๋งŽ์ด ํˆฌ์žํ•˜์—ฌ ์‹ค์ œ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์ด ์ ์—ˆ๋Š”๋ฐ, ํŒ€์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋ฉฐ ๋Šฆ๊ฒŒ๊นŒ์ง€ ๋‚จ์•„ ๊ฐœ๋ฐœํ•œ ๊ฒฐ๊ณผ, ๊ธฐ๊ฐ„ ๋‚ด์— ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๊ฐ€, ์ฃผ๋ณ€ ๋งˆํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด Kakao Map API์™€ Apex-charts ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ๊ฐ€๋ฌผ๊ฐ€๋ฌผ ์„œ๋น„์Šค์— ํ•„์š”ํ•œ ํ˜•ํƒœ๋กœ ์กฐ๊ธˆ์”ฉ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ ์ ์šฉํ•œ ๊ฒƒ์ด ์ข‹์€ ๊ฒฝํ—˜์ด ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ํŒ€์› ๋ชจ๋‘ ์‹œ๊ฐ„์— ์ซ“๊ฒจ ํž˜๋“ค์—ˆ์„ํ…๋ฐ, ๋๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌ ํ•˜๋Š๋ผ ๊ณ ์ƒํ–ˆ๋‹ค๊ณ  ํ•ด์ฃผ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ž์œจ ํ”„๋กœ์ ํŠธ๋„ ๋‹ค๊ฐ™์ด ์—ด์‹ฌํžˆ ํ•ด๋ณด์ž~~

  • ์ฑ„์œค์„  : ๋ชจ๋ฐ”์ผ ์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•ด๋ณธ๊ฑด ์ฒ˜์Œ์ด์˜€๋Š”๋ฐ, ๋ชจ๋ฐ”์ผ์ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๋” ์ง๊ด€์ ์œผ๋กœ ๋Š๊ปด์ง„๋‹ค๋Š” ์ ์— ์ƒˆ๋กœ์› ์Šต๋‹ˆ๋‹ค. ๋˜, PWA๋ฅผ ์ ์šฉํ•˜๋ฉฐ ๋ฐ˜์‘ํ˜• UI๋กœ ์ œ์ž‘ํ•˜์˜€๋Š”๋ฐ, ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ UI๋ฅผ ๋ฐฐ์น˜ํ•˜์—ฌ์•ผ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ํŽธ๋ฆฌํ• ์ง€ ๊ณ ๋ฏผํ•ด๋ณด๋Š” ๊ณผ์ •์ด ์ฆ๊ฑฐ์› ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด ์• ๋‹ˆ๋ฉ”์ด์…˜ ์•„์ด์ฝ˜์„ ์ ์šฉํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž˜๋ชป ๊ณ ๋ฅธ ์‹ค์ˆ˜ ๋•์— ๊ณ ์ƒํ–ˆ๋˜ ๊ฒฝํ—˜๋„ ์˜ˆ์˜๊ฒŒ ์ž˜ ๋งŒ๋“ค์–ด์ง„ ํ™”๋ฉด์„ ๋ณด๋‹ˆ ๊ทธ์ € ๊ธฐ์˜๊ธฐ๋งŒ ํ•ฉ๋‹ˆ๋‹ค!! ์ €ํฌ ํŒ€์›๋“ค ๋•๋ถ„์— ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋˜ ๊ธฐ์ˆ ๋“ค ์ž”๋œฉ ์ ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค~~! ์šฐ๋ฆฌ ํŒ€์›๋“ค ์ตœ๊ณ ์•ผ ~ ์ž์œจ์€ ๋” ๋ฉ‹์žˆ๊ฒŒ ํ•ด

About

๐Ÿ†๊ฐ€๋ฌผ๊ฐ€๋ฌผ : ๋น…๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ๋ฌผ๊ฐ€๊ธฐ๋ฐ˜ ์‹์žฌ๋ฃŒ ๊ฐ€๊ฒฉ ์ •๋ณด ์ œ๊ณต ์›น์•ฑ ์„œ๋น„์Šค - ๐Ÿฅ‡SSAFY 7๊ธฐ ํŠนํ™”ํ”„๋กœ์ ํŠธ ์šฐ์ˆ˜์ƒ 1๋“ฑ(2022.10.07)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published