Skip to content

kiryanchi/2024_CSE_HOMES

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

78 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ  ๊ณ ๊ธฐ์—ฌ๋ฏผ - ๊ฒฝ๋ถ๋Œ€ ํ™ˆ์ฆˆ ๐Ÿ 

๐Ÿ”— ๋งํฌ

๐Ÿ”— ํ”„๋ก ํŠธ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋งํฌ


๐Ÿ“ ์„œ๋น„์Šค ์š”์•ฝ


๊ฒฝ๋ถ๋Œ€ ํ™ˆ์ฆˆ - ์ž์ทจ๋ฐฉ ์ด์–ด์‚ด๊ธฐ ๋งค์นญ ํ”Œ๋žซํผ

๐Ÿงฉ ์ฃผ์ œ ๊ตฌ๋ถ„

  • Eํƒ€์ž… ๊ฒฝ๋ถ๋Œ€์— ๋‹ค๋‹ˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฐ๊ฒฝ์˜ ํ•™์šฐ๋“ค์„ ์œ„ํ•œ ์„œ๋น„์Šค

๐Ÿง‘โ€๐Ÿ’ป ํŒ€์› ์†Œ๊ฐœ

๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ ๊ณ ๊ธฐ์—ฌ๋ฏผ (Go Ki Yeo Min) ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘

ํ”„๋ก ํŠธ์—”๋“œ ๋ฐฑ์—”๋“œ ๋””์ž์ด๋„ˆ ๋ฐฑ์—”๋“œ
๊ณ ๋™์ˆ˜ ๋ฐ•๊ธฐํ˜„ ์ •์—ฌ์ง„ ๊ถŒ์šฉ๋ฏผ

๐Ÿ”— ์‹œ์—ฐ ์˜์ƒ

๐Ÿ”— Youtube ๋งํฌ

โš™๏ธ ์„œ๋น„์Šค ์†Œ๊ฐœ

๐Ÿ“š ์„œ๋น„์Šค ๊ฐœ์š”

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

๐Ÿ”ง ํƒ€์„œ๋น„์Šค์™€์˜ ์ฐจ๋ณ„์ 

  1. ํ˜„์‹œ์  ๊ฑฐ์˜ ์œ ์ผํ•œ ์ด์–ด์‚ด๊ธฐ ๊ฑฐ๋ž˜ ํ”Œ๋žซํผ
  2. ๊ตฌ์ฒด์ ์ธ ๊ฒ€์ƒ‰ ์กฐ๊ฑด ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์ œ๊ณต
  3. ์ฆ‰๊ฐ์ ์ธ ์ฑ„ํŒ… ๊ธฐ๋Šฅ

๐Ÿ› ๏ธ ๊ตฌํ˜„ ๋‚ด์šฉ ๋ฐ ๊ฒฐ๊ณผ๋ฌผ

  1. ์ด์–ด์‚ด๊ธฐ ๋งค๋ฌผ ๋“ฑ๋ก
  • ๋งค๋ฌผ์˜ ์œ„์น˜, ๊ฐ€๊ฒฉ, ์ž…์ฃผ ๊ฐ€๋Šฅ ๋‚ ์งœ ๋“ฑ ์ฃผ์š” ์ •๋ณด๋ฅผ ํƒœ๊ทธํ™”ํ•˜์—ฌ, ๊ธ€ ์ž‘์„ฑ์‹œ์—๋„ ์ž…์ฃผ ํฌ๋ง์ž๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์ •๋ณด๋“ค์„ ์žŠ์ง€ ์•Š๊ณ  ๊ธฐ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. ๋งค๋ฌผ ํ•„ํ„ฐ๋ง ๋ฐ ์กฐํšŒ
  • ์ƒ์„ธํ•œ ์กฐ๊ฑด ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์กฐ๊ฑด์˜ ๋งค๋ฌผ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. ํŒ๋งค์ž - ๊ตฌ๋งค์ž ๊ฐ„ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ธฐ๋Šฅ
  • ํ”Œ๋žซํผ ๋‚ด์—์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋งค๋ฌผ๋ณ„ ์ฑ„ํŒ…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ‘๏ธ ์ „์ฒด์ ์ธ View

๊ฒฝ๋ถ๋Œ€ ํ™ˆ์ฆˆ ๋ฉ”์ธํŽ˜์ด์ง€ ๊ฒฝ๋ถ๋Œ€ ํ™ˆ์ฆˆ ํ•„ํ„ฐ ์ด๋ฏธ์ง€
๊ฒฝ๋ถ๋Œ€ ํ™ˆ์ฆˆ ์ฑ„ํŒ…๋ชฉ๋ก ์ด๋ฏธ์ง€ ๊ฒฝ๋ถ๋Œ€ ํ™ˆ์ฆˆ ์ฑ„ํŒ…๋ฐฉ ์ด๋ฏธ์ง€

โœจ ERD

๊ฒฝ๋ถ๋Œ€ ํ™ˆ์ฆˆ erd

๊ตฌํ˜„ ๋ฐฉ์‹

๐Ÿ“Œ frontend

  • ์‚ฌ์šฉ ํ”„๋ ˆ์ž„์›Œํฌ: Dart, Flutter

  • ๋””์ž์ธ ๋„๊ตฌ: Figma

๐Ÿ“Œ backend

  • ์‚ฌ์šฉ ํ”„๋ ˆ์ž„์›Œํฌ: Java, Spring Boot

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: MySQL

    • ๋งค๋ฌผ, ์‚ฌ์šฉ์ž ์ •๋ณด, ์ฑ„ํŒ… ๋กœ๊ทธ ๋“ฑ์„ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌํ•œ๋‹ค.
  • ๋งค๋ฌผ ๊ฒ€์ƒ‰: Spring Data JPA Specification

    • ๋™์  ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์กฐํšŒํ•œ๋‹ค.
  • ์ด๋ฏธ์ง€ ํŒŒ์ผ ์ €์žฅ: AWS S3

    • ์—…๋กœ๋“œ๋œ ์ด๋ฏธ์ง€๋“ค์€ S3 ๋ฒ„ํ‚ท์„ ํ†ตํ•ด ์ €์žฅ ๋ฐ ํ˜ธ์ŠคํŒ…๋œ๋‹ค.

โ›“๏ธ ๋ณด์•ˆ

  • ์‚ฌ์šฉ ๊ธฐ์ˆ : JWT, Spring Security

    • JWT ํ† ํฐ์„ ์ด์šฉํ•ด ์œ ์ € ์ธ์ฆ ๋ฐ ์ธ๊ฐ€ ๊ณผ์ •์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ , ํŠน์ • ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•œ๋‹ค.

ํ˜‘์—…

  • ์‚ฌ์šฉ ๊ธฐ์ˆ : WebSocket, STOMP, SockJS
    • WebSocket์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค.
    • ์ด ๋•Œ STOMP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ๊ฐ„ ๋ฉ”์‹œ์ง€ ์†ก์ˆ˜์‹  ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.
  • API ๋ฌธ์„œํ™”: Swagger

- API ๋ฌธ์„œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. GithubActions๊ณผ์˜ ์—ฐ๋™์„ ํ†ตํ•ด, API ๋ฌธ์„œ๊ฐ€ ํ•ญ์ƒ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€๋œ๋‹ค.

๐Ÿ–ฅ๏ธ ๋ฐฐํฌ

  • ์„œ๋ฒ„: AWS EC2
  • CI/CD: GitHub Actions
    • ์ฝ”๋“œ ํ‘ธ์‹œ๋‚˜ PR ๋จธ์ง€ ๋“ฑ์˜ ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ GitHub Actions๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜์–ด ์ž๋™์œผ๋กœ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค. ์ด๋กœ ์ธํ•ด ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์ž๋™ํ™”๋˜์–ด, ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ง€์†์  ํ†ตํ•ฉ/๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

๐ŸŽˆ ํ–ฅํ›„ ๊ฐœ์„  ํ˜น์€ ๋ฐœ์ „ ๋ฐฉ์•ˆ


  1. ๊ฑฐ์ฃผ ํ™˜๊ฒฝ ํ‰๊ฐ€ ์‹œ์Šคํ…œ ๋„์ž…
    ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ์ฃผํ–ˆ๋˜ ์ฃผ๊ฑฐ์ง€์— ๋Œ€ํ•œ ํ‰๊ฐ€ ์‹œ์Šคํ…œ์„ ๋„์ž…ํ•˜์—ฌ, ๋งค๋ฌผ์˜ ์ƒํƒœ๋ฅผ ๋” ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค. ์ฒญ๊ฒฐ๋„, ์†Œ์Œ ๋“ฑ ๊ตฌ์ฒด์ ์ธ ์ •๋ณด๋ฅผ ํ‰๊ฐ€ํ•˜์—ฌ ๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ ๋†’์€ ๋งค๋ฌผ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

  2. ์ง€๋„ API ํ†ตํ•ฉ
    ์ง€๋„ API๋ฅผ ๋„์ž…ํ•ด ์‚ฌ์šฉ์ž๋“ค์ด ๋งค๋ฌผ์˜ ์œ„์น˜๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ ํ•œ๋‹ค. ์ด๋กœ์จ ํ•™๊ต์™€์˜ ๊ฑฐ๋ฆฌ, ๋Œ€์ค‘๊ตํ†ต ์ ‘๊ทผ์„ฑ, ์ฃผ๋ณ€ ํŽธ์˜์‹œ์„ค ๋“ฑ์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

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

  4. ๊ธฐ์—… ์—ฐ๊ณ„
    ์ด์‚ฌ ์„œ๋น„์Šค ๋ฐ ๊ฐ€๊ตฌ ๋Œ€์—ฌ ์„œ๋น„์Šค์™€์˜ ์ „๋žต์  ์ œํœด๋ฅผ ํ†ตํ•ด ์ž์ทจ์ƒ๋“ค์ด ํ•„์š”ํ•œ ๋ชจ๋“  ์ฃผ๊ฑฐ ๊ด€๋ จ ์„œ๋น„์Šค๋ฅผ ํ•œ ๊ณณ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ†ตํ•ฉ ํ”Œ๋žซํผ์œผ๋กœ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, ์ž์ทจ ์ƒํ•„ํ’ˆ ๊ตฌ๋… ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์ถ”๊ฐ€์ ์ธ ์ˆ˜์ต ๋ชจ๋ธ์„ ์ฐฝ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ์ง€์—ญ ํ™•์žฅ ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ
    ํ˜„์žฌ๋Š” ๊ฒฝ๋ถ๋Œ€ ํ•™์ƒ๋“ค์„ ์ฃผ ํƒ€๊ฒŸ์œผ๋กœ ํ•˜์ง€๋งŒ, ํ–ฅํ›„ ์ „๊ตญ์˜ ์ž์ทจ์ƒ๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€ ์ž์ทจ์ƒ๋“ค์ด ์ฃผ๊ฑฐ ํŒ์ด๋‚˜ ์ƒํ™œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์ทจ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋žซํผ์œผ๋กœ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Other 0.2%