/together-party-tonight-server

๐Ÿƒ ํˆฌ๋ฐ”ํˆฌ : ์‹ค์‹œ๊ฐ„ ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์ถ”์ฒœ/์‹ ์ฒญ ์„œ๋น„์Šค

Primary LanguageJava

together-party-tonight-server

๐Ÿƒ TOGETHER-PARTY-TONIGHT(ํˆฌ๋ฐ”ํˆฌ) : ์‹ค์‹œ๊ฐ„ ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ์ž„ ์ถ”์ฒœ/์‹ ์ฒญ ์„œ๋น„์Šค


์„œ๋น„์Šค ์„ค๋ช…

์‹ค์‹œ๊ฐ„ ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ์ž„์„ ์ถ”์ฒœํ•ด์ฃผ๊ณ  ์‚ฌ์šฉ์ž์˜ ์ทจํ–ฅ์— ๋งž๊ฒŒ ๋ชจ์ž„์„ ์‹ ์ฒญํ•˜๊ณ  ์ •์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ์›น์‚ฌ์ดํŠธ

  • ์ตœ์†Œ ๊ธฐ๋Šฅ (MVP)

    • ์ธ์ฆ ๊ถŒํ•œ : ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…, ํ† ํฐ์žฌ๋ฐœ๊ธ‰ (jwt), ์†Œ์…œ๋กœ๊ทธ์ธ, ๋ฉ”์ผ๋ง
    • ๊ฒ€์ƒ‰ : ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„, ํ‚ค์›Œ๋“œ๋ณ„, ์ธ์›์ˆ˜, ๋ชจ์ง‘์ƒํƒœ
    • ๋Œ“๊ธ€ ๊ธฐ๋Šฅ
    • ์ฑ„ํŒ… ๊ธฐ๋Šฅ
    • ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ ๊ธฐ๋Šฅ
    • ํ‰์  ๋ฐ ๋ฆฌ๋ทฐ ๊ธฐ๋Šฅ
    • ๊ฑฐ๋ฆฌ/์ฃผ์†Œ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ์„œ๋น„์Šค + ๋งต ์—ฐ๋™
    • ๋ชจ์ž„ ์‹ ์ฒญ ๋ฐ ์Šน์ธ/๊ฑฐ์ ˆ ๊ธฐ๋Šฅ
    • ๋ชจ์ž„ ์กฐํšŒ/์ˆ˜์ •/์ถ”๊ฐ€/์‚ญ์ œ ๊ธฐ๋Šฅ
    • ์ •์‚ฐ/๊ฒฐ์ œ ๊ธฐ๋Šฅ
  • OUT OF SCOPE

    • SNS ์žฅ์†Œ ๊ณต์œ 

๊ณตํ†ต ์ปจ๋ฒค์…˜ (Convention)

๐ŸŒด Branch ์ „๋žต

  • Git Flow
ํ•ญ๋ชฉ ์„ค๋ช…
main ๊ธฐ์ค€์ด ๋˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ์ œํ’ˆ์„ ๋ฐฐํฌํ•˜๋Š” ๋ธŒ๋žœ์น˜
develop ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋กœ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ด ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ์ž ์ž‘์—…ํ•œ ๊ธฐ๋Šฅ๋“ค์„ Merge
feature ๋‹จ์œ„ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด develop ๋ธŒ๋žœ์น˜์— Merge
release ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด main ๋ธŒ๋žœ์น˜๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ๋จผ์ € QA(ํ’ˆ์งˆ๊ฒ€์‚ฌ)๋ฅผ ํ•˜๊ธฐ์œ„ํ•œ ๋ธŒ๋žœ์น˜
hotfix master ๋ธŒ๋žœ์น˜๋กœ ๋ฐฐํฌ๋ฅผ ํ–ˆ๋Š”๋ฐ ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ฒผ์„ ๋–„ ๊ธด๊ธ‰ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜
  • Git Flow ๊ณผ์ •

    • master ๋ธŒ๋žœ์น˜์—์„œ develop ๋ธŒ๋žœ์น˜๋ฅผ ๋ถ„๊ธฐํ•จ
    • ๊ฐœ๋ฐœ์ž๋“ค์€ develop ๋ธŒ๋žœ์น˜์— ์ž์œ ๋กญ๊ฒŒ ์ปค๋ฐ‹์„ ํ•จ
    • ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ์žˆ๋Š” ๊ฒฝ์šฐ develop ๋ธŒ๋žœ์น˜์—์„œ feature/* ๋ธŒ๋žœ์น˜๋ฅผ ๋ถ„๊ธฐํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฐฐํฌ๋ฅผ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด develop ๋ธŒ๋žœ์น˜์—์„œ release/* ๋ธŒ๋žœ์น˜๋ฅผ ๋ถ„๊ธฐํ•ฉ๋‹ˆ๋‹ค.
    • ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •์€ release/* ๋ธŒ๋žœ์น˜์— ์ง์ ‘ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.
    • ํ…Œ์ŠคํŠธ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด release ๋ธŒ๋žœ์น˜๋ฅผ master์™€ develop์— mergeํ•จ
  • ๋ณดํ†ต main <- release <- develop(default) <- feature

    • ๋ชจ๋“  ๊ธฐ๋Šฅ ๊ตฌํ˜„์€ feature์„ ์ด์šฉํ•ด ๋ธŒ๋žœ์น˜๋ฅผ ๋ถ„๊ธฐํ•ด ๊ฐœ๋ฐœ ํ›„ devleop์œผ๋กœ pull-request ํ•˜๊ธฐ!
    • ์ง์ ‘ develop์œผ๋กœ push โŒโŒ
  • ์˜ˆ์‹œ : feature/login

๐Ÿ• Commit ์ „๋žต

ํ•ญ๋ชฉ ์„ค๋ช…
ADD (์ƒˆ๋กœ์šด) ๊ธฐ๋Šฅ ์ถ”๊ฐ€
UPDATE ๊ธฐ๋Šฅ ์ˆ˜์ • or ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
BUGFIX ๋ฒ„๊ทธ or ์ด์Šˆ ์ˆ˜์ •
  • ํƒ€์ž…์€ ํƒœ๊ทธ์™€ ์ œ๋ชฉ์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ณ , ํƒœ๊ทธ๋Š” ์˜์–ด๋กœ ์“ฐ๋˜ ์ฒซ ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ํ•จ
  • ํƒœ๊ทธ : ์ œ๋ชฉ์˜ ํ˜•ํƒœ์ด๋ฉฐ, :๋’ค์—๋งŒ space๊ฐ€ ์žˆ์Œ์— ์œ ์˜ํ•จ
  • ์˜ˆ์‹œ : git commit -m "[ADD] : header feature implement"
    • ์ถ”๊ฐ€ ๋ณธ๋ฌธ ๋ฉ”์‹œ์ง€๋ฅผ ์“ธ ๊ฒฝ์šฐ์—๋„ ๋ฉ”์ธ ์ œ๋ชฉ์€ ์œ„์™€ ๊ฐ™์ด ๋™์ผํ•˜๊ฒŒ ์ž‘์„ฑ

๐Ÿญ PR ์ „๋žต

  • PR Template์— ๋”ฐ๋ฆ„

Backend

โœจ ๊ธฐ์ˆ  ์„ค๋ช…

SpringBoot, Spring Data JPA, JWT ๋ฅผ ์ด์šฉํ•ด Back-end ๊ฐœ๋ฐœ

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

ํ•ญ๋ชฉ ๊ธฐ์ˆ  ์Šคํƒ
์‚ฌ์šฉ์–ธ์–ด JAVA, SpringBoot
DB Redis, Amazon RDS(MySQL)
API ๋ช…์„ธ Swagger
๋ณด์•ˆ JWT, Spring Security
CI/CD AWS EC2, AWS S3, AWS RDS, Github Actions

๐Ÿ”… ์ฝ”๋“œ ์ปจ๋ฒค์…˜

ํ•ญ๋ชฉ ๊ทœ์น™
Package camelCase
File PascalCase
Constant UPPER_SNAKE_CASE
Variable camelCase
Function camelCase

โœ” ์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ & ๋ฒ„์ „ ์ •๋ณด

ํ•ญ๋ชฉ ๋ฒ„์ „ ์ •๋ณด
JAVA v11
SpringBoot v2.7.12
Swagger v2.9.2

ERD

erd


topato

๐Ÿ”— TOGETHER-PARTY-TONIGHT(ํˆฌ๋ฐ”ํˆฌ)