Skip to content

Latest commit

ย 

History

History
176 lines (143 loc) ยท 10.3 KB

File metadata and controls

176 lines (143 loc) ยท 10.3 KB

๐Ÿ‘” ๋‹ค์‹œ์žก

์ค‘์žฅ๋…„์ธต ์ƒ๊ณ„์œ ์ง€์™€ ์ž„๊ธˆ ์ค‘๊ฐ„์ฐฉ์ทจ ๊ทผ์ ˆ์„ ์œ„ํ•œ ๊ตฌ์ธ๊ตฌ์ง ์„œ๋น„์Šค, ๋‹ค์‹œ์žก

2025.09.06 ~ 2025.09.21

Project Link

๐Ÿ† ํ”„๋กœ์ ํŠธ ์ˆ˜์ƒ ๋‚ด์—ญ

[SKTHON] ์„œ๊ฒฝ๋Œ€ํ•™๊ต ๊ต๋‚ด ํ•ด์ปคํ†ค ๋Œ€์ƒ ์ˆ˜์ƒ

๐Ÿ’ก ํ”„๋กœ์ ํŠธ ์š”์•ฝ

ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌํšŒ ๋ฌธ์ œ

๋ฒ•์ ์œผ๋กœ๋Š” ๊ตฌ์ง์ž์—๊ฒŒ 1%์ดํ•˜์˜ ์ค‘๊ณ„์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ๋ถ€๊ณผํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,
๋ฒ•์˜ ํ—ˆ์ ์„ ์•…์šฉํ•˜์—ฌ ๊ตฌ์ง์ž์—๊ฒŒ ์ž„๊ธˆ์˜ 10%~30%์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์•—์•„๊ฐ€๋Š” ๋ชป๋œ ์ฐฉ์ทจ ๊ด€ํ–‰์ด ๋งŒ์—ฐํ•ด์žˆ์Šต๋‹ˆ๋‹ค.

์ง์—…์†Œ๊ฐœ์†Œ๋ฅผ ์ฃผ๋กœ ์ด์šฉํ•˜๋Š” ์ €์†Œ๋“ ์ค‘์žฅ๋…„์ธต์˜ ์ค‘๊ณ„์ˆ˜์ˆ˜๋ฃŒ ์ฐฉ์ทจ๋Š” ์ด๋“ค์˜ ์ƒ๊ณ„๋ฅผ ์œ„ํ˜‘ํ•˜๋Š” ์‹ฌ๊ฐํ•œ ์‚ฌํšŒ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

ํ™œ์šฉํ•œ ํ•ต์‹ฌ ๊ธฐ์ˆ 

Spring Boot ยท Next.js ยท OCR ยท Embedding Model GPT-4o ยท Gemini API

๊ธฐ๋Œ€ํ•˜๋Š” ์‚ฌํšŒ์  ์ž„ํŒฉํŠธ

๊ตฌ์ง์ž ๋ถ„๋“ค๊ป˜ ๊ณผ๋„ํ•œ ์ค‘๊ณ„์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ๋ถ€๊ณผํ•˜๋Š” ์ฐฉ์ทจ์  ๊ด€ํ–‰์„ ๊ทผ์ ˆํ•˜์—ฌ,
50๋Œ€ ๊ตฌ์ง์ž ๋ถ„๋“ค๊ป˜์„œ ์ •๋‹นํ•œ ์ž„๊ธˆ์„ ๋ณด์žฅ๋ฐ›๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ผํ•˜์‹ค ์ˆ˜ ์žˆ๋Š” ๊ณ ์šฉ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.



1 2 3 4 5 6 7 8 9 10

Contributors

์ €์†Œ๋“ ์ค‘์žฅ๋…„์ธต์˜ ์ž„๊ธˆ ์ค‘๊ฐ„์ฐฉ์ทจ๋ฅผ ์—†์• ๊ณ ,
๋” ์ด์ƒ ์˜คํ”„๋ผ์ธ์ด ์•„๋‹Œ ์˜จ๋ผ์ธ์—์„œ ๊ณต์ •ํ•˜๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ์ผ์ž๋ฆฌ๋ฅผ ์ฐพ๊ฒŒํ•˜๋Š” ์‹์Šค์„ผ์Šค์ž…๋‹ˆ๋‹ค.

PM Design
์‹ฌ์„œํ˜„ ์•ˆํšจ์ง„
FE Developer FE Developer
๋ฐ•ํƒœ๊ฒฝ ํ—ˆ์œคํ˜ธ
BE Developer BE Developer BE Developer
๋ฐ•์ฃผ์šฉ ์‹ ์ฑ„๋ฆฐ ์‹ฌ์„œํ˜„

Stacks

Design (UI/UX)

Figma Adobe Photoshop

Environment

Visual Studio Code IntelliJ IDEA Git GitHub

Frontend

Next.js TypeScript Tailwind CSS Zustand TanStack Query React Hook Form Zod Vercel

Backend

Spring Boot Spring Security Spring Data JPA JWT
AWS Ubuntu Swagger

Communication

Notion Discord


๐ŸŽฏ Git Convention

  • ๐ŸŽ‰ Start: Start New Project [:tada:]
  • โœจ Feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ [:sparkles:]
  • ๐Ÿ› Fix: ๋ฒ„๊ทธ ์ˆ˜์ • [:bug:]
  • ๐ŸŽจ Design: CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ [:art:]
  • โ™ป๏ธ Refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง [:recycle:]
  • ๐Ÿ”ง Settings: Changing configuration files [:wrench:]
  • ๐Ÿ—ƒ๏ธ Comment: ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ [:card_file_box:]
  • โž• Dependency/Plugin: Add a dependency/plugin [:heavy_plus_sign:]
  • ๐Ÿ“ Docs: ๋ฌธ์„œ ์ˆ˜์ • [:memo:]
  • ๐Ÿ”€ Merge: Merge branches [:twisted_rightwards_arrows:]
  • ๐Ÿš€ Deploy: Deploying stuff [:rocket:]
  • ๐Ÿšš Rename: ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ [:truck:]
  • ๐Ÿ”ฅ Remove: ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ [:fire:]
  • โช๏ธ Revert: ์ „ ๋ฒ„์ „์œผ๋กœ ๋กค๋ฐฑ [:rewind:]

๐Ÿชด Branch Convention (GitHub Flow)

  • main: ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๋ธŒ๋žœ์น˜, ํ•ญ์ƒ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ฅผ ์œ ์ง€
  • feature/{description}: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜
    • ์˜ˆ:ย feature/social-login
  • ๋ธŒ๋žœ์น˜ ๊ณต์œ  X โ†’ ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ ํŒ€์›๋“ค์—๊ฒŒ ์•Œ๋ฆฌ๊ธฐ
  • ํŒ€์›์ด ์ง  ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์—†์ด ์ˆ˜์ • X โ†’ ์ˆ˜์ • ์‹œ PR ๋‚จ๊ธฐ๊ณ  ๋ฆฌ๋ทฐ ํ•„์ˆ˜
    • ex) ๋ณธ์ธ์ด ์ •์˜ํ•œ ํด๋ž˜์Šค ์•„๋‹Œ ๊ณณ์—์„œ ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ํŒ€์›๋“ค๊ณผ ๋…ผ์˜

Flow

  1. developย ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ. โ†’ develop ๋ธŒ๋žœ์น˜๋Š” main ๋ธŒ๋žœ์น˜์—์„œ ์ƒ์„ฑ
  2. ์ž‘์—…์„ ์™„๋ฃŒํ•˜๊ณ  ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ๋งž๊ฒŒ ์ปค๋ฐ‹ ํ›„ ํ‘ธ์‹œ.
  3. develop ์œผ๋กœ ๋ณ‘ํ•ฉ ์‹œ Pull Request๋ฅผ ์ƒ์„ฑ / ํŒ€์›๋“ค์˜ ๋ฆฌ๋ทฐ.
  4. ๋ฆฌ๋ทฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉดย developย ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ.
  5. ๋ณ‘ํ•ฉ ํ›„, ๋ฐฐํฌ ํ•„์š” ์‹œ main ๋ธŒ๋žœ์น˜๋กœ Pull Request๋ฅผ ์ƒ์„ฑ / ํŒ€์›๋“ค์˜ ๋ฆฌ๋ทฐ ์ง„ํ–‰
  6. ๋ณ‘ํ•ฉ ํ›„ ๋ฐฐํฌ.

์˜ˆ์‹œ:

# ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
git checkout -b feature/social-login

# ์ž‘์—… ์™„๋ฃŒ ํ›„, main ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ
git checkout main
git pull origin main
git merge feature/social-login
git push origin main

๐Ÿ‹ ๋กœ์ปฌ์—์„œ Docker ๋กœ ๋นŒ๋“œํ•˜๊ธฐ ๐Ÿ‹

  1. Docker Desktop ์‹คํ–‰
  2. Build ํ•˜๊ธฐ ์ „ spotless ์ ์šฉ ./gradlew spotlessApply
  3. ์ •ํ•ด์ง„ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๊ณ  ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌ (spotelesscheck) ./gradlew spotlessCheck
  4. spring boot build ./gradlew build
  5. Docker Desktop ์‹คํ–‰์ค‘ ์ธ์ง€ ํ™•์ธ docker info
  6. Docker๋กœ ๋นŒ๋“œํ•˜๊ธฐ docker build -t "๋ณธ์ธ dockerhub repo ์ด๋ฆ„"/helfoome .
  7. Docker Hub login(IDE terminal์—์„œ ์‹คํ–‰) docker login
  8. Docker Image Tag docker tag "๋ณธ์ธ dockerhub repo ์ด๋ฆ„"/helfoome "๋ณธ์ธ dockerhub repo ์ด๋ฆ„"/helfoome:latest
  9. Docker Image Push docker push "๋ณธ์ธ dockerhub repo ์ด๋ฆ„"/helfoome:latest

๐Ÿ‹ Docker ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ํ•˜๊ธฐ ๐Ÿ‹

  1. ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ํ™•์ธ docker ps
  2. ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์˜ CONTAINER ID๋ฅผ ์ฐพ์•„์„œ ์ค‘์ง€. docker stop <CONTAINER ID>
  3. ์ปจํ…Œ์ด๋„ˆ์˜ ์‚ญ์ œ๊ฐ€ ํ•„์š”ํ•  ๊ฒฝ์šฐ docker rm <CONTAINER ID>
  4. ์ด๋ฏธ์ง€ ์‚ญ์ œ๊ฐ€ ํ•„์š”ํ•  ๊ฒฝ์šฐ docker rmi <IMAGE ID or IMAGE NAME>

๐Ÿ”ง Submodule convention

  1. submodule ์ˆ˜์ • โ†’ ํŒ€์›๋“ค์—๊ฒŒ ์•Œ๋ฆฌ๊ธฐ
  2. submodule ๊ฒฝ๋กœ๋กœ ์ด๋™ ํ›„ main์œผ๋กœ push (๋ธŒ๋žœ์น˜ ์ƒ์„ฑ X)
  3. ๋ฃจํŠธ ๊ฒฝ๋กœ๋กœ ๋‚˜์™€์„œ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ push
    • commit message : "submodule push"๋กœ ํ†ต์ผ
  4. git submodule update --remote๋กœ ์„œ๋ธŒ๋ชจ๋“ˆ ์ตœ์‹ ํ™”
  5. ๋ฃจํŠธ ๊ฒฝ๋กœ์—์„œ ๋ฐ”๋€ ๋‚ด์šฉ ํ—ค๋‹น ๋ธŒ๋žœ์น˜๋กœ push
      • commit message : "submodule latest"๋กœ ํ†ต์ผ