8000 GitHub - sangmin0806/Trip_Handam: ๐ŸŽ‰์—ฌํ–‰ ์œ ํ˜•๋ณ„ ๋งž์ถค ์—ฌํ–‰์ง€ ์ถ”์ฒœ, ์—ฌํ–‰๊ณ„ํš ์ˆ˜๋ฆฝ, ๋‹ค์–‘ํ•œ SNS ๊ธฐ๋Šฅ ํฌํ•จํ•œ ์—ฌํ–‰ ํ†ตํ•ฉ ํ”Œ๋žซํผ
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

๐ŸŽ‰์—ฌํ–‰ ์œ ํ˜•๋ณ„ ๋งž์ถค ์—ฌํ–‰์ง€ ์ถ”์ฒœ, ์—ฌํ–‰๊ณ„ํš ์ˆ˜๋ฆฝ, ๋‹ค์–‘ํ•œ SNS ๊ธฐ๋Šฅ ํฌํ•จํ•œ ์—ฌํ–‰ ํ†ตํ•ฉ ํ”Œ๋žซํผ

Notifications You must be signed in to change notification settings

sangmin0806/Trip_Handam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

๐Ÿณ ์—ฌํ–‰ํ•œ๋‹ด

๐Ÿ“ข ์„œ๋น„์Šค ์†Œ๊ฐœ

"์—ฌํ–‰ํ•œ๋‹ด" ์€ ์—ฌํ–‰์ผ์ •์„ ์งœ๋Š”๋ฐ ๋„์›€์„ ์ฃผ๋Š” ์›น์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์—ฌํ–‰๊ณ„ํš์„ ๊ตฌ์„ฑํ•  ๋•Œ, ์ •๋ณด์˜ ๊ณผ๋ถ€ํ™”, ์‹œ๊ฐ„ ์†Œ๋ชจ ๋“ฑ ์‚ฌ์šฉ์ž์˜ ํ”ผ๋กœ๋ฅผ ๋œ์–ด์ฃผ๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋ฒผ์šด ์„ฑํ–ฅํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋‚ด ์—ฌํ–‰ ์„ฑํ–ฅ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ”ผ๋“œ ๊ฒŒ์‹œ๋ฌผ์„ ๋ณด๊ณ  ์ข‹์•„์š”์™€ ๋Œ“๊ธ€ ๋“ฑ์˜ ์†Œํ†ต์„ ํ•  ์ˆ˜ ์žˆ๋Š” SNS ๊ธฐ๋Šฅ์„ ๊ฒธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅธ ํ”ผ๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ์—ฌํ–‰ ๊ณ„ํš ์ˆ˜๋ฆฝ ๋ฐ ์ž๋™๋งž์ถค ์—ฌํ–‰์ผ์ • ์ˆ˜๋ฆฝ ๊ธฐ๋Šฅ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ง„ํ–‰ ๊ธฐ๊ฐ„

  • 2024.08.26 ~ 2024.10.11 (7์ฃผ)

ํŒ€ ๊ตฌ์„ฑ

๊ณ ๋„์—ฐ ๊ฐ•๋™ํ˜• ๊ณ ์ถฉ์› ๊น€๋ฏผ์ฃผ ์œ ์žฌ๊ด‘ ์ด์ƒ๋ฏผ
PM, FE FE FE BE, Infra, AI BE BE, BE Leader

๐Ÿฅณ ์„œ๋น„์Šค ์„ค๊ณ„

๊ธฐ์ˆ  ์Šคํƒ

Front Back AI
Language JavaScript(ES6+), TypeScript Java17 python
IDE Visual Studio Code IntelliJ Jupyter Lab
Framework React, Vite Spring Boot, Fast API, Spark Pytorch, fastAPI
Library intersection-observer, daum-postcode, sweetalert2, tailwind, storybook transformers, diffusers, boto
DB CI/CD Tools
MySQL, Hadoop, Redis, Elasticsearch Jenkins, Docker, Dockerhub, Mattermost GitLab, Jira, Notion, RestDoc

ERD

Wireframe

๐Ÿ“Ž Figma Link

Architecture

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

์—ฌํ–‰ ์„ฑํ–ฅ ์ง„๋‹จ

|

  • ๊ฐ„๋‹จํ•œ ์ง„๋‹จ ๋ฌธํ•ญ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์„ฑํ–ฅ์„ ์ง„๋‹จํ•˜๊ณ  ์ง„๋‹จ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ 16๊ฐ€์ง€ ๊ฒฐ๊ณผ๋ฌผ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์ง„๋‹จ ๊ณผ์ •์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ์„ ๋ฐ›์•„ ์‚ฌ์šฉ์ž์˜ ์ข‹์•„์š” ๋ฐ์ดํ„ฐ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋งž์ถค ๋ฐ ์ง€์—ญ๋ณ„ ์—ฌํ–‰์ง€ ์ถ”์ฒœ์ •๋ณด

  • ๋งž์ถค์—ฌํ–‰์ง€๋“ค์ด ์ถ”์ฒœ๋˜๊ณ , ํ•ซํ”Œ์—ฌํ–‰์ง€, ์ง€์—ญ๋ณ„ ์—ฌํ–‰์ง€, ์ถ•์ œ ์ •๋ณด๋“ฑ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐœ์ธ ์—ฌํ–‰ ์œ ํ˜•๋ณ„, ์ข‹์•„์š” ํ•œ ํ”ผ๋“œ๋ณ„ ๋งž์ถค ์ถ”์ฒœ

    • ํƒ์ƒ‰ํŽ˜์ด์ง€์—์„œ ์ž์‹ ์˜ ์—ฌํ–‰์œ ํ˜•๊ณผ ์ข‹์•„์š”ํ•œ ํ”ผ๋“œ๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ์—ฌํ–‰์ง€๊ฐ€ ์ถ”์ฒœ๋ฉ๋‹ˆ๋‹ค.

    ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ”ผ๋“œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ

    |

    • ์ด ํƒ์ƒ‰ํŽ˜์ด์ง€๋Š” ์ž์‹ ๊ณผ ๋น„์Šทํ•œ ์œ ํ˜•์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ข‹์•„์š”ํ•œ ํ”ผ๋“œ์œ„์ฃผ๋กœ ์ถ”์ฒœ๋ฉ๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ๊ฒ€์ƒ‰ ํ›„ ํŒ”๋กœ์šฐ ๊ธฐ๋Šฅ์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ํ”ผ๋“œ๊ฒ€์ƒ‰๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์—ฌํ–‰๊ณ„ํš ์ž‘์„ฑ๊ธฐ๋Šฅ

    |

    • ์ž์‹ ์ด ์ข‹์•„์š” ํ•œ ๋ฐ์ดํ„ฐ๋“ค์€ ์—ฌํ–‰ ๊ณ„ํš ํŽ˜์ด์ง€์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ๊ฑฐ์ณ ๊ตฐ์ง‘ํ™”๋ฉ๋‹ˆ๋‹ค.
    • ๊ตฐ์ง‘ํ™” ๋œ ๋ชฉ๋ก์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น์ข‹์•„์š”๋ฅผ ํฌํ•จํ•ด์„œ ์ž๋™์œผ๋กœ ์ผ์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • ์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ผ์ •์— ๊ฐ€๊ณ ์‹ถ์€ ๊ณณ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ•˜๋‹จ ๋ฐ”์—์„œ ๊ตฐ์ง‘ ์ค‘์‹ฌ์—์„œ ์ฃผ๋ณ€ ์žฅ์†Œ๋“ค์„ ์ถ”์ฒœํ•ด์ค๋‹ˆ๋‹ค.
    • ์—ฌํ–‰์ผ์ •์„ ์ €์žฅ๋˜๊ณ  ์ผ์ • ์ƒ์„ธํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋™ํ–‰ ๊ตฌ์ธ

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

    1๋Œ€1 ์ฑ„ํŒ…๋ฐฉ

    • ๋‚ด ํŒ”๋กœ์ž‰ ๋ชฉ๋ก์˜ ์‚ฌ์šฉ์ž๋“ค๊ณผ 1๋Œ€1 ์ฑ„ํŒ…์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋งˆ์ดํŽ˜์ด์ง€

  • ๋งˆ์ดํŽ˜์ด์ง€์—๋Š” ์ œ๊ฐ€ ์ž‘์„ฑํ•œ ํ”ผ๋“œ, ์ข‹์•„์š”๋ชฉ๋ก ๋™ํ–‰ ๊ฒŒ์‹œ๊ธ€, ํฌํ† ์นด๋“œ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๐Ÿšฉํ•ต์‹ฌ ๊ธฐ๋Šฅ

    1. Hadoop, Spark, Redis๋ฅผ ํ†ตํ•œ ์ฃผ๊ธฐ์ ์ธ ํ”ผ๋“œ ์ถ”์ฒœ ์ ์šฉ
      • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ: Cron์„ ํ™œ์šฉํ•˜์—ฌ 2๋ถ„๋งˆ๋‹ค ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ๋กœ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      • ํ˜‘์—… ํ•„ํ„ฐ๋ง: ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง์„ ์ ์šฉํ•˜๋ฉฐ, ์ข‹์•„์š” ์ด๋ฒคํŠธ์— ์‹œ๊ฐ„ ๊ฐ€์ค‘์น˜์™€ ์—ฌํ–‰ ์œ ํ˜•๋ณ„ ํŠน์„ฑ์„ ๋ฐ˜์˜ํ•˜์—ฌ ์ถ”์ฒœ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
      • ์ถ”์ฒœ ์บ์‹ฑ: ์ถ”์ฒœ๋œ ํ”ผ๋“œ๋Š” Redis์— ์บ์‹ฑ๋˜์–ด, ๋น ๋ฅธ ์‘๋‹ต์„ฑ์„ ์œ„ํ•ด TTL์„ ์ ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    2. Kafka๋ฅผ ํ†ตํ•œ ์ตœ๊ทผ ํ™œ๋™ ์‚ฌ์šฉ์ž ์ˆ˜์ง‘
      • ์ถ”์ฒœ ์ตœ์ ํ™”: ์‹ ๊ทœ ์ข‹์•„์š” ์ด๋ฒคํŠธ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์‚ฌ์šฉ์ž๋งŒ์„ ์ถ”์ถœํ•˜์—ฌ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๊ณ„์‚ฐ์„ ์ค„์ด๊ณ  ํšจ์œจ์ ์ธ ์ถ”์ฒœ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    3. WebSocket์„ ํ™œ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…
      • Stomp ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ˆ์ •์ ์ด๊ณ  ์‹ค์‹œ๊ฐ„์„ฑ ๋†’์€ ์ฑ„ํŒ… ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

    4. ElasticSearch๋ฅผ ํ™œ์šฉํ•œ ๋น ๋ฅธ ํ”ผ๋“œ ๊ฒ€์ƒ‰
      • ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰: ElasticSearch๋ฅผ ํ™œ์šฉํ•ด ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๊ฐ€๊นŒ์šด ํ”ผ๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”: Partial Update๋ฅผ ํ†ตํ•ด DB์™€ ElasticSearch ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”๋ฅผ ์œ ์ง€ํ•˜๊ณ , ์„œ๋ฒ„ ์‹คํ–‰ ์‹œ ์ „์ฒด ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    5. ๋™์‹œ์„ฑ ์ œ์–ด
      • ๋™์‹œ ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ฐœ์„ : ๋™์‹œ ์š”์ฒญ์ž 100๋ช… ๊ธฐ์ค€์œผ๋กœ, ์š”์ฒญ ์‹คํŒจ์œจ์„ 28%์—์„œ 0%๋กœ ๊ฐ์†Œ์‹œํ‚ค๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.
      • ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ: Locust๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

    6. ํฌํ† ์นด๋“œ ์ƒ์„ฑ
      • BLIP image captioning, OWL-ViT zero-shot object detection, Pix2Pix image to image translation ๋ชจ๋ธ์„ ํ™œ์šฉํ•ด ์‚ฌ์šฉ์ž๋“ค์ด ์˜ฌ๋ฆฐ ํ”ผ๋“œ ์ด๋ฏธ์ง€๋กœ ๊ณ ์œ ํ•œ ํฌํ† ์นด๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

    7. MSA ๊ตฌ์กฐ์˜ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
      • ๋…๋ฆฝ์  ํŒŒ์ดํ”„๋ผ์ธ: ๊ฐ ์„œ๋ฒ„๋ณ„๋กœ ๋…๋ฆฝ์ ์ธ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜์—ฌ ๊ฐœ๋ฐœ๊ณผ ๋ฐฐํฌ์˜ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
      • ์ž๋™ ์•Œ๋ฆผ: ๋ฐฐํฌ ์„ฑ๊ณต ์‹œ MM ์•Œ๋žŒ์„ ํ†ตํ•ด ํŒ€์›๋“ค์—๊ฒŒ ์ž๋™์œผ๋กœ ๊ณต์ง€ํ•˜์—ฌ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

    8. ๋„คํŠธ์›Œํฌ ์ฒ˜๋ฆฌ ์š”์ฒญ ์žฅ์น˜ ์ ์šฉ
      • ํ† ํฐ ๋ฒ„ํ‚ท ์•Œ๊ณ ๋ฆฌ์ฆ˜: Spring Cloud Gateway์— ํ† ํฐ ๋ฒ„ํ‚ท ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    9. ์‹ค์‹œ๊ฐ„ ์ข‹์•„์š” ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„
      • Spark Streaming์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ข‹์•„์š” ๋ฐ์ดํ„ฐ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

    10. ๊ตฐ์ง‘ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ์šฉ
      • DBSCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž ์ข‹์•„์š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฐ์ง‘ํ™”ํ•˜์—ฌ, ๋น„์Šทํ•œ ์„ฑํ–ฅ์˜ ์‚ฌ์šฉ์ž๋ฅผ ๋ฌถ๊ณ  ๊ทธ์— ๋งž์ถ˜ ํ”ผ๋“œ ์ถ”์ฒœ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
      • ๋ฐ์ดํ„ฐ ์บ์‹ฑ: ์บ์‹œ ๋ฏธ์Šค์™€ ํžˆํŠธ ๊ฐœ๋…์„ ๋„์ž…ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์กฐํšŒ ์†๋„๋ฅผ ๋† 67D8 ’์˜€์Šต๋‹ˆ๋‹ค.

    About

    ๐ŸŽ‰์—ฌํ–‰ ์œ ํ˜•๋ณ„ ๋งž์ถค ์—ฌํ–‰์ง€ ์ถ”์ฒœ, ์—ฌํ–‰๊ณ„ํš ์ˆ˜๋ฆฝ, ๋‹ค์–‘ํ•œ SNS ๊ธฐ๋Šฅ ํฌํ•จํ•œ ์—ฌํ–‰ ํ†ตํ•ฉ ํ”Œ๋žซํผ

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Contributors 6

    0