Skip to content

๐Ÿฅœ ์•Œ์ฐจ๊ณ  ๊ณ ์†Œํ•œ ์ง€์‹ ๊ณต์œ  ์‹œ๊ฐ„, ๋ถ๋„›์ธ  ๐Ÿฅœ

Notifications You must be signed in to change notification settings

Book-Nuts/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

๋…์„œ ๊ธฐ๋ฐ˜ SNS, BookNuts

์•„์ดํ…œํฌ์Šคํ„ฐ_9ํ•ด์กฐ

๐Ÿฅœ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ธฐ์กด์˜ ๊ฐœ๋ฐฉํ˜• SNS์—์„œ ํ™•์ฆํŽธํ–ฅ/ํ˜์˜ค/๊ฐ€์งœ๋‰ด์Šค ๋“ฑ์œผ๋กœ ์ธํ•ด ์‚ฌ๋žŒ๋“ค์˜ ๋ฐœ์–ธ์ด ์œ„์ถ•๋˜๊ณ  ์žˆ๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ SNS ์ƒํƒœ๊ณ„์˜ ์–ด๋‘์šด ๋ฉด์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž โ€˜์ฑ…โ€™์ด๋ผ๋Š” ๋งค๊ฐœ๋ฅผ ๊บผ๋‚ด๋“ค๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ์ธ์˜ ๊ณ ์œ ํ•œ ๊ฐ€์น˜๋ฅผ ์ถ”๊ตฌํ•˜๋Š” SNS ์ƒํƒœ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


ํ•ต์‹ฌ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๋ˆ„๊ตฌ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ์˜๊ฒฌ์„ ๊ฐœ์ง„ํ•  ์ˆ˜ ์žˆ๋Š” ํ† ๋ก ์žฅ
  2. ์ž์‹ ์˜ ์ง€์  ๊ฒฝํ—˜์„ ์—ฐ์žฌํ•˜๋Š” ์‹œ๋ฆฌ์ฆˆ ๋ฐœํ–‰
  3. ๊ธฐ๋ณธ์ ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ (๊ฒŒ์‹œ๊ธ€/๋Œ“๊ธ€/๊ณต๊ฐ ๋“ฑ)



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

  • Spring Boot(Java) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ API ๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๊ณ , JPA ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋Š” AWS RDS(MySQL) ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , AWS EC2 ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ๋ฅผ ์œ„ํ•ด AWS S3 ๋ฒ„ํ‚ท์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ํ˜‘์—… ๋ฐ ์ฝ”๋“œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด Github, API ๋ฌธ์„œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด Postman๊ณผ Notion์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Github Actions, CodeDeploy ๋ฅผ ์‚ฌ์šฉํ•ด CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜์˜€์Šต๋‹ˆ๋‹ค.



๐Ÿ‘ฉโ€๐Ÿ’ป ๊ฐœ๋ฐœ ๋‚ด์šฉ

  • ํšŒ์› - JWT + Spring Security๋ฅผ ํ†ตํ•œ ๋กœ๊ทธ์ธ
  • Access Token + Refresh Token ๊ตฌํ˜„
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ (๊ฒŒ์‹œ๊ธ€, ๋Œ“๊ธ€, ๊ณต๊ฐ ๋“ฑ)
  • ํ† ๋ก  ๊ด€๋ จ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ (ํ† ๋ก ์žฅ ๊ฐœ์„ค, ์ฐธ์—ฌ, ์ƒํƒœ ๋ณ€๊ฒฝ)
  • ์‹œ๋ฆฌ์ฆˆ - ๊ฒŒ์‹œ๊ธ€ ๊ทธ๋ฃนํ•‘์„ ํ†ตํ•œ ์‹œ๋ฆฌ์ฆˆ ๋ฐœํ–‰/์ถ”๊ฐ€/์‚ญ์ œ
  • ์•„์นด์ด๋ธŒ - ๊ฒŒ์‹œ๊ธ€ ์•„์นด์ด๋น™/์ถ”๊ฐ€/์‚ญ์ œ
  • ํŒ”๋กœ์šฐ & ํŒ”๋กœ์ž‰
  • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ (ํ”„๋กœํ•„, ์•„์นด์ด๋ธŒ, ์‹œ๋ฆฌ์ฆˆ, ํ† ๋ก  ์ปค๋ฒ„ ์ด๋ฏธ์ง€)



๐Ÿ“‘ ๋ฌธ์„œ



๐Ÿงฉ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

image

CI/CD Pipeline

  1. ๊ฐœ๋ฐœ ์™„๋ฃŒ ํ›„ main ๋ธŒ๋žœ์น˜์— Push (or Pull Request ์ „์†ก)
  2. Github Actions ๋™์ž‘
  3. main ๋ธŒ๋žœ์น˜ Build
  4. jar ํŒŒ์ผ AWS S3์— ์—…๋กœ๋“œ
  5. Code Deploy ์‹คํ–‰
  6. AWS EC2์˜ Code Deploy๊ฐ€ AWS S3์— ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€ ๋ฐฐํฌ
  7. ์ž๋™ํ™” ๋ฐฐํฌ (deploy.sh ์„ ํ†ตํ•ด jar ํŒŒ์ผ ์‹คํ–‰)



๐Ÿ’พ ERD Diagram

image



๐Ÿ” ํ™”๋ฉด ๊ตฌ์„ฑ

image image



๐Ÿ“Œ Commit Message Convention

  • โž• [ADD] : FEAT ์ด์™ธ์˜ ๋ถ€์ˆ˜์ ์ธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€, ์ƒˆ๋กœ์šด ํŒŒ์ผ ์ƒ์„ฑ
  • โœ… [MOD] : ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ ๋‚ด๋ถ€ ํŒŒ์ผ ์ˆ˜์ •
  • โœจ [FEAT] : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๐Ÿ”€ [MERGE] : ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜ MERGE ์‹œ ์‚ฌ์šฉ
  • ๐Ÿ”จ [FIX] : ๋ฒ„๊ทธ ๋ฐ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ
  • ๐Ÿ—‘๏ธ [DEL] : ์“ธ๋ชจ์—†๋Š” ์ฝ”๋“œ๋‚˜ ํŒŒ์ผ ์‚ญ์ œ
  • ๐Ÿ“ [DOCS] : README๋‚˜ WIKI ๋“ฑ์˜ ๋ฌธ์„œ ๊ฐœ์ •
  • โœ๏ธ [CORRECT] : ๋ฌธ๋ฒ•์˜ ์˜ค๋ฅ˜๋‚˜ ํƒ€์ž…์˜ ๋ณ€๊ฒฝ, ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋“ฑ์˜ ์ž‘์€ ์ˆ˜์ •
  • ๐Ÿšš [MOVE] : ํ”„๋กœ์ ํŠธ ๋‚ด ํŒŒ์ผ์ด๋‚˜ ์ฝ”๋“œ์˜ ์ด๋™
  • โช๏ธ [RENAME] : ํŒŒ์ผ ์ด๋ฆ„ ๋ณ€๊ฒฝ
  • โ™ป๏ธ [REFACTOR] : ์ „๋ฉด ์ˆ˜์ •
  • ๐Ÿ›  [SETTING] : ๊ธฐํƒ€ ์„ค์ • ์‹œ

About

๐Ÿฅœ ์•Œ์ฐจ๊ณ  ๊ณ ์†Œํ•œ ์ง€์‹ ๊ณต์œ  ์‹œ๊ฐ„, ๋ถ๋„›์ธ  ๐Ÿฅœ

Resources

Stars

Watchers

Forks