Skip to content

Latest commit

ย 

History

History
266 lines (198 loc) ยท 16.7 KB

README.md

File metadata and controls

266 lines (198 loc) ยท 16.7 KB

UNIRO, ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ํœ ์ฒด์–ด ๋ฐฐ๋ฆฌ์–ดํ”„๋ฆฌ ๊ธธ์ฐพ๊ธฐ

Cover

๐Ÿ“Œ ๋ชฉ์ฐจ

  1. ์„œ๋น„์Šค ์†Œ๊ฐœ
  2. ํŒ€์› ์†Œ๊ฐœ
  3. ํ˜‘์—… ๋ฐฉ์‹
  4. ํ”„๋ก ํŠธ์—”๋“œ
  5. ๋ฐฑ์—”๋“œ

์•„ํ‹ฐํด ๋ฏธ๋ฆฌ๋ณด๊ธฐ

ํŒŒํŠธ ์ œ๋ชฉ ๊ธฐ์—ฌ์ž
๊ณตํ†ต ์™„๋ฒฝํ•œ ๊ธธ์„ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ ๋ชจ๋‘
FE ์™„๋ฒฝํ•œ(?) ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ LightHouse ์ ์ˆ˜ ๊ฐœ์„ ๊ธฐ ๋ฐ•์ค€ํ˜
FE ์˜ค๋ธŒ์ ํŠธ (Polyline, Marker) ์บ์‹ฑ ์œค๋™ํ˜„
BE ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋กœ ์ธํ•œ OOM ํ•ด๊ฒฐ๊ณผ์ • ์†กํ˜„์„ฑ
BE 1,500ms -> 160ms๋กœ 4๋‹จ๊ณ„ ๊ฐœ์„ ๋œ ํ•ต์‹ฌ๋กœ์ง ์†ก๋ฏผ๊ทœ

๋” ์ž์„ธํ•œ ๊ธฐ์ˆ  ์•„ํ‹ฐํด์€ ๐Ÿ“ UNIRO-Wiki ํŽ˜์ด์ง€์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ์–ด์š”.


๐Ÿš€ ์„œ๋น„์Šค ์†Œ๊ฐœ

๐Ÿ”— UNIRO

  • ์บ ํผ์Šค ๋‚ด ์ด๋™์ด ๋” ์ด์ƒ ๋ถˆํŽธํ•˜์ง€ ์•Š๋„๋ก!
  • ํœ ์ฒด์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ•™์ƒ์ด ๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์บ ํผ์Šค๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๊ธธ์ฐพ๊ธฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • ์ •๋ณด ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ์ด๋™ ๊ณผ์ •์—์„œ์˜ ๋ฌผ๋ฆฌ์ ยท์ •๋ณด์  ์žฅ๋ฒฝ์„ ํ•ด์†Œํ•˜๊ณ , ๋ชจ๋‘๊ฐ€ ํ•จ๊ป˜ํ•˜๋Š” ํฌ์šฉ์ ์ธ ์บ ํผ์Šค ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

์‹œ์—ฐ ์˜์ƒ

๋žœ๋”ฉ ํŽ˜์ด์ง€ ๋ฉ”์ธ ํŽ˜์ด์ง€
แ„…แ…ขแ†ซแ„ƒแ…ตแ†ผแ„‘แ…ฆแ„‹แ…ตแ„Œแ…ต แ„†แ…ฆแ„‹แ…ตแ†ซ แ„‘แ…ฆแ„‹แ…ตแ„Œแ…ต
ํ•™๊ต ์„ ํƒ ํŽ˜์ด์ง€ ๊ธธ ์ฐพ๊ธฐ ํŽ˜์ด์ง€
แ„’แ…กแ†จแ„€แ…ญ แ„‰แ…ฅแ†ซแ„แ…ขแ†จ แ„€แ…ตแ†ฏ แ„Žแ…กแ†ฝแ„€แ…ต แ„‘แ…ฆแ„‹แ…ตแ„Œแ…ต
์ƒˆ๋กœ์šด ๊ธธ ์ œ๋ณดํ•˜๊ธฐ ๋ถˆํŽธํ•œ ๊ธธ ์ œ๋ณดํ•˜๊ธฐ
แ„‰แ…ขแ„…แ…ฉแ„‹แ…ฎแ†ซ แ„€แ…ตแ†ฏ แ„Œแ…ฆแ„‡แ…ฉแ„’แ…กแ„€แ…ต แ„‡แ…ฎแ†ฏแ„‘แ…งแ†ซแ„’แ…กแ†ซ แ„€แ…ตแ†ฏ แ„Œแ…ฆแ„‡แ…ฉแ„’แ…กแ„€แ…ต

๐Ÿ‘ฅ ํŒ€์› ์†Œ๊ฐœ

FE ํŒ€

๋ฐ•์ค€ํ˜ ์œค๋™ํ˜„
๋ฐ•์ค€ํ˜ ์œค๋™ํ˜„
FE FE
- ๊ธธ์ฐพ๊ธฐ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€ ๊ตฌํ˜„ ๋ฐ ์ตœ์ ํ™” ์ง„ํ–‰
- Suspense๋กœ ๋กœ๋”ฉ ์ž๋™ํ™”
- Post ์š”์ฒญ ์•ˆ์ •ํ™”๋ฅผ ์œ„ํ•œ debounce ๊ตฌํ˜„
- FCP ๊ฐ์†Œ ๋ฐ ์ •์  ๋ฆฌ์†Œ์Šค ์ถ•์†Œ๋ฅผ ์œ„ํ•œ ํด๋ผ์ด์–ธํŠธ/์ธํ”„๋ผ ๋Œ€์ฑ… ๋งˆ๋ จ
- ๋ฉ”์ธ / ๋ถˆํŽธํ•œ ๊ธธ / ์ƒˆ๋กœ์šด ๊ธธ ์ง€๋„ ํŽ˜์ด์ง€ ์ œ์ž‘
- API ์—๋Ÿฌ ํ•ธ๋“ค ๋กœ์ง ๊ตฌํ˜„
- ๊ธธ ์„ ํƒ ์•Œ๊ณ ๋ฆฌ์ฆ˜ + ์ƒˆ๋กœ์šด ๊ธธ ์ƒ์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„
- ์บ์‹ฑ๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•œ ์ง€๋„ ํŽ˜์ด์ง€ ์ตœ์ ํ™” ์ง„ํ–‰

BE ํŒ€

๐Ÿ‘‘ ์†กํ˜„์„ฑ ์†ก๋ฏผ๊ทœ
์†กํ˜„์„ฑ ์†ก๋ฏผ๊ทœ
BE, ํŒ€์žฅ BE
- OOM ๋ฌธ์ œ๋ฅผ Jpa Stream API + SSE๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ•  ์ฒ˜๋ฆฌํ•˜์—ฌ ํ•ด๊ฒฐ
- ๊ธธ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜(A* ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๊ฐœ๋ฐœ ๋ฐ ๊ฐœ์„ 
- Hibernate envers๋ฅผ ํ™œ์šฉํ•œ DB๋ฒ„์ „ํ™” & ํŠน์ • ๋ฒ„์ „ ์กฐํšŒ ๋กœ์ง ๊ตฌํ˜„
- Google Map Elevation API ์—ฐ๋™ ๋ฐ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋น„๋™๊ธฐ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ๊ตฌํ˜„
- Redis ๋ฐ FastJson์„ ํ™œ์šฉํ•œ ์กฐํšŒ์†๋„ 1,500 ms -> 160ms ๊ฐœ์„ 
- Dockerizing ๋ฐ blue-green ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ž๋™ํ™” ์ธํ”„๋ผ ๊ตฌ์ถ•
- R-tree๋ฅผ ํ™œ์šฉํ•œ ๊ธธ ์ถ”๊ฐ€ ๋กœ์ง ๊ฐœ๋ฐœ, 10,000 ms -> 200ms ๊ฐœ์„ 
- ํ…Œ์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ ๊ตฌ์ถ•
- ์–ด๋“œ๋ฏผ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

์šฐ๋ฆฌํŒ€์˜ ๊ธฐ์ˆ  ์Šคํƒ

๊ตฌ๋ถ„ ๊ธฐ์ˆ  ์Šคํƒ
FE TypeScript React Vite Tanstack Query React Router Tailwind CSS Google Maps Badge
BE MySQL Redis Test Container
์ธํ”„๋ผ AWS GitHub Actions Docker Nginx Google Cloud Platform
์†Œํ†ต Swagger Jira Badge

๐Ÿค ํ˜‘์—… ๋ฐฉ์‹

๋น ๋ฅธ ๊ฐœ๋ฐœ๊ณผ QA๋กœ ์™„์„ฑ๋„ ๋†’์€ ์„œ๋น„์Šค ์ œ์ž‘

  • ์ €ํฌ ํŒ€์€ ์™„์„ฑ๋„ ๋†’๊ณ  ๋ฒ„๊ทธ ์—†๋Š” ์„œ๋น„์Šค ์ œ์ž‘์„ ์ตœ์ข… ๋ชฉํ‘œ๋กœ ์‚ผ์•˜์Šต๋‹ˆ๋‹ค.

  • 4์ฃผ๋ผ๋Š” ๊ธธ์ง€ ์•Š์€ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„๋™์•ˆ, ์ด๋ฅผ ์œ„ํ•ด ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœยท๋ฐฐํฌํ•˜๊ณ , ๋ฐ˜๋ณต์ ์ธ QA์™€ ๊ณ ๋„ํ™”๋ฅผ ํ†ตํ•ด ์™„์„ฑ๋„๋ฅผ ๋†’์ด๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทธ ๊ฒฐ๊ณผ, 2์ฃผ ์ฐจ์— ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐฐํฌํ–ˆ์œผ๋ฉฐ, ์„ธ ์ฐจ๋ก€์˜ ๋‚ด๋ถ€ QA์™€ ๋‘ ์ฐจ๋ก€์˜ ์™ธ๋ถ€ QA๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ ์งœ QA
2/5 1์ฐจ ์ž์ฒดQA
2/8 2์ฐจ ์ž์ฒดQA
2/11 3์ฐจ ์ž์ฒดQA
2/14 ์†Œํ”„ํ‹ฐ์–ด ๋ฒ„๊ทธ๋ฐ์ดQA
2/21 ์†Œํ”„ํ‹ฐ์–ด ๋ฐ๋ชจ๋ฐ์ดQA

์Šคํ”„๋ฆฐํŠธ ๋‹จ์œ„ ๊ฐœ๋ฐœ

  • ์ €ํฌ ํŒ€์—์„œ๋Š” ์ผ์ฃผ์ผ ๋‹จ์œ„์˜ ์Šคํ”„๋ฆฐํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฐฉ์‹์„ ํ†ตํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ์žฅ์ ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  1. ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ๊ณผ ๊ฐœ์„ 
  2. ์œ ์—ฐ์„ฑ ์žˆ๋Š” ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ
  3. ๊ฐœ๋ฐœ ๋ฆฌ์Šคํฌ ๊ฐ์†Œ

๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ

  • ๊ฐ ์Šคํ”„๋ฆฐํŠธ์˜ ๊ฐœ๋ฐœ ๋‚ด์šฉ์„ ์•„์นด์ด๋น™ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๊ด€๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฆด๋ฆฌ์ฆˆ ๋ฒ„์ „ ์ง„ํ–‰๊ธฐ๊ฐ„ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ๋ฆด๋ฆฌ์ฆˆ PR
v1.0.0 1์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ 1์ฃผ์ฐจ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ v1.0.0
v1.1.0 2์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ 2์ฃผ์ฐจ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ v1.1.0
v1.2.0 3์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ 3์ฃผ์ฐจ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ v1.2.0
v1.3.0 4์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ 4์ฃผ์ฐจ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ v1.3.0

๐Ÿณ ํ˜‘์—…์„ ์œ„ํ•œ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ๊ตฌ์ถ•

  • ์†Œํ”„ํ‹ฐ์–ด ํ™œ๋™์—์„œ๋Š” ํ•จ๊ป˜ ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ๊ฐ„์ด ๋งŽ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•  ๋•Œ๋งˆ๋‹ค ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ์ด๋ฅผ ์ธ์ง€ํ•˜๊ณ  ๋Œ€์‘ํ•ด์•ผ ํ•˜๋Š” ๊ณผ์ •์ด ๋ถˆํ•„์š”ํ•œ ๋น„์šฉ์ฒ˜๋Ÿผ ๋Š๊ปด์กŒ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐํฌ๋กœ ์ธํ•œ ์†Œํ†ต ๋น„์šฉ์€ ์•ฝ 5๋ถ„ ์ •๋„์ด์ง€๋งŒ, ์ €ํฌ๋Š” ๋น ๋ฅธ ๋ฐฐํฌ๋ฅผ ๋ชฉํ‘œ๋กœ ๊ฐœ๋ฐœํ–ˆ๊ธฐ์— ์ด๋Ÿฌํ•œ ์‹œ๊ฐ„์ด ์Œ“์ด๋ฉด ํ˜‘์—…์— ํฐ ๋ถˆํŽธ์ด ๋  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„์—์„œ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ, ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ์„œ๋ฒ„์˜ ๋ฐฐํฌ ์‹œ์ ์„ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ๊ฐœ๋ฐœ์— ๋ถˆํŽธํ•จ์ด ์—†๋„๋ก ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ด€๋ จ ๊ตฌํ˜„ wiki ํŽ˜์ด์ง€

๐Ÿงญ ํ˜‘์—…์„ ์œ„ํ•œ ์–ด๋“œ๋ฏผ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ

  • ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ฐ€์„ค์˜ ๊ฒ€์ฆ์„ ์œ„ํ•ด ์ผ์ผํžˆ ์ฐพ์•„๋ด์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•œ ๊ณผ์ •๋“ค์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ก ํŠธ์ธก์—์„œ ์–ด๋“œ๋ฏผ์„ ๊ฐœ๋ฐœํ•˜์˜€๊ณ , ์ด๋ฅผ ํ†ตํ•ด ๋ฐฑ์—”๋“œ์—์„œ ๊ธฐ์ˆ ์Šคํƒ์— ์žˆ์–ด ์˜์‚ฌ๊ฒฐ์ • ์‹œ๊ฐ„์„ ์ƒ๋‹นํžˆ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ด€๋ จ wiki ํŽ˜์ด์ง€
๊ฑด๋ฌผ ๋…ธ๋“œ ์ƒ์„ฑ ๋…ธ๋“œ ๋ฐ ๊ฐ„์„  ์ •๋ณด ํ™•์ธ
image image

Jira๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

image - ์ง„์ฒ™๋„๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์ง„ํ–‰์ƒํ™ฉ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐํฌ ๋ฐฉ์‹

  • ๊ฐ ์ฃผ์ฐจ๋งˆ๋‹ค ๊ฐ ํŒŒํŠธ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๋ฉฐ ๊ธˆ์š”์ผ๋งˆ๋‹ค Main ๋ธŒ๋žœ์น˜์— merge ํ•ฉ๋‹ˆ๋‹ค. แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-02-15 แ„‹แ…ฉแ„’แ…ฎ 10 51 41

๐Ÿ™Œ ๊ทธ๋ผ์šด๋“œ ๋ฃฐ

๐Ÿ“ž ์ผ์ • ๋ฐ ์—ฐ๋ฝ

  1. ์ผ์ • ๋ณ€๋™ ๋“ฑ ๊ณต์œ  ์‚ฌํ•ญ์€ ์นด์นด์˜คํ†ก์œผ๋กœ ์ „๋‹ฌํ•ด์ฃผ์„ธ์š”.
  2. ์—ฐํœด ๋ฐ ์ฃผ๋ง์—๋Š” ํ™•์ธ ์ฆ‰์‹œ ์‘๋‹ต๋งŒ ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์€ ์ดํ›„์— ์ง„ํ–‰ํ•ด๋„ ๊ดœ์ฐฎ์•„์š”.
  3. ๊ฐœ์ธ ์ผ์ •์ด ์ƒ๊ธธ ๊ฒฝ์šฐ, ๊ฐ€๋Šฅํ•˜๋ฉด ์ „๋‚ ๊นŒ์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”. ์นดํ†ก์œผ๋กœ ๊ฐ„๋‹จํžˆ ๊ณต์œ ํ•ด๋„ ๊ดœ์ฐฎ์•„์š”.
    1. ์œค๋™ํ˜„: ๋งค์ฃผ ๋ชฉ์š”์ผ 19:00 ํ‡ด๊ทผ
    2. ๋ฐ•์ค€ํ˜: ๋งค์ฃผ ํ™”์š”์ผ 19:00 ํ‡ด๊ทผ
    3. ์†ก๋ฏผ๊ทœ: ๋งค์ฃผ ๋ชฉ์š”์ผ 19:00 ํ‡ด๊ทผ
  4. ์นดํ†ก์ด๋‚˜ ์Šฌ๋ž™์œผ๋กœ ๋จผ์ € ์—ฐ๋ฝํ•˜๊ณ , ์‘๋‹ต์ด ์—†์„ ๊ฒฝ์šฐ ๋Œ€๋ฉด์œผ๋กœ ์ด์•ผ๊ธฐํ•ด์š”. (์„ผํ„ฐ์—์„œ ์ง„ํ–‰)
  5. ์ƒ๋Œ€๋ฐฉ์ด ์—์–ดํŒŸ์„ ๋ผ๊ณ  ์žˆ์–ด๋„ ๊ดœ์ฐฎ์•„์š” :)

๐Ÿ—ฃ๏ธ ์—…๋ฌด ๋ฐ ํšŒ์˜

  1. ๋งค์ผ ์˜ค์ „ 10:30์— ์Šคํฌ๋Ÿผ์œผ๋กœ ํ•˜๋ฃจ๋ฅผ ์‹œ์ž‘ํ•ด์š”. (์ˆ˜์—… ์ดํ›„)
  2. ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ๊ตฌ์ฒด์ ์ธ ๊ณ„ํš ์„œ์ˆ  ํ•„์ˆ˜์—์š”.
  3. ์—ฐํœด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋งค์ผ ์˜ค์ „ 11:00์— ์˜จ๋ผ์ธ ๋ฐ์ผ๋ฆฌ ๋ฐ ๋ชจ๊ฐ์ฝ”๋ฅผ ์ง„ํ–‰ํ•ด์š”.
  4. ํšŒ์˜๋ก ์ž‘์„ฑ์€ ๋Œ์•„๊ฐ€๋ฉด์„œ ์ง„ํ–‰ํ•ด์š”.

๐Ÿ‘ฅ ์ž‘์—… ๋ฐ ํ”ผ๋“œ๋ฐฑ

  1. ๋ชจ๋“  ๋จธ์ง€๋Š” ๋ฐ˜๋“œ์‹œ 1๋ช…์˜ ์Šน์ธ์„ ๋ฐ›์•„์•ผ ๊ฐ€๋Šฅํ•ด์š”.
  2. ํ”ผ๋“œ๋ฐฑ์€ ๊ฑด์ „ํ•˜๊ณ  ๊ฑด๊ฐ•ํ•˜๊ฒŒ ์ฃผ๊ณ ๋ฐ›์•„์š”. ๊ทผ๋ฐ ์ด์ œ ๋”ฐ๋œปํ•จ์„ ์žŠ์ง€ ๋ง์•„์ฃผ์„ธ์š”.

๐ŸŽจ ํ”„๋ก ํŠธ์—”๋“œ

ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ๊ณผ ๊ธฐ์ˆ  ์Šคํƒ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ ๊ธฐ์ˆ : React, TypeScript, Zustand, TanStack-Query, Tailwind CSS, Frame

๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ

โ”œโ”€โ”€ src
    โ”œโ”€โ”€ api (API ํ†ต์‹  ํ•จ์ˆ˜)
        โ”œโ”€โ”€ transformer  (API ํ†ต์‹  ๋ณ€ํ™˜๊ธฐ)
        โ”œโ”€โ”€ type (API ํ†ต์‹  ํƒ€์ž… ์„ ์–ธ)
            โ”œโ”€โ”€ request
            โ”œโ”€โ”€ response
    โ”œโ”€โ”€ assets
    โ”œโ”€โ”€ components (ํŽ˜์ด์ง€ ๋ณ„ ์ปดํฌ๋„ŒํŠธ)
    โ”œโ”€โ”€ constant (์ƒ์ˆ˜, Enum
    โ”œโ”€โ”€ hooks (์ปค์Šคํ…€ ํ›…)
    โ”œโ”€โ”€ map (์ง€๋„ ์„ธํŒ…)
    โ”œโ”€โ”€ pages (ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ)
    โ”œโ”€โ”€ types (ํƒ€์ž…)
    โ””โ”€โ”€ utils (๊ธฐํƒ€ ํ•จ์ˆ˜)

FrontEnd ํ™”๋ฉด ๊ตฌ์„ฑ

image

FrontEnd ๋ฐฐํฌ ๊ณผ์ •

Deploy

Github Action Flow

  1. Multi Stage Build
  2. GCR Push -> VM Pull
  3. Deploy New Container

๐Ÿ›  ๋ฐฑ์—”๋“œ

๋ฐฑ์—”๋“œ์—์„œ ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ๊ณผ ๊ธฐ์ˆ  ์Šคํƒ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ ๊ธฐ์ˆ : Java, Spring Boot, JPA, MySQL, Redis, Hibernate envers, FastJson, Querydsl

์•„ํ‚คํ…์ฒ˜

uniro drawio

ERD

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-02-24 แ„‹แ…ฉแ„’แ…ฎ 12 27 19