Skip to content
/ YoungCamper_BE Public template
forked from Young-Camper/BE

πŸ™πŸ» 영캠퍼 1κΈ° - Back-End νŒ€ μ €μž₯μ†Œμž…λ‹ˆλ‹€.

Notifications You must be signed in to change notification settings

devbini/YoungCamper_BE

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ™ μ˜μΊ ν”„ μΆ•μ œ μ•ˆλ‚΄ ν™ˆνŽ˜μ΄μ§€ README [BackEnd]

image

πŸŽ‡ ν”„λ‘œμ νŠΈ μ†Œκ°œ

  • βœ¨μ˜μΊ ν”„βœ¨λŠ” λ™κ΅­λŒ€ν•™κ΅ λ‚΄ 뢈ꡐ 동아리가 μ—°ν•©ν•˜μ—¬ μ£Όμ΅œν•˜λŠ” μΆ•μ œλ‘œ,
    λŒ€ν•™μƒλ“€μ—κ²Œ 뢈ꡐ의 κ°€λ₯΄μΉ¨μ„ 널리 μ „νŒŒν•˜κ³  μ²­λ…„ 뢈자의 문화적 κ°ˆμ¦μ„ ν•΄μ†Œν•˜λŠ” ν–‰μ‚¬μž…λ‹ˆλ‹€.
  • ν•΄μ™Έ κ°κ΅­μ—μ„œλ„ 관심을 κ°€μ§€κ³  μžˆλŠ” πŸŽŠλŒ€ν•œλ―Όκ΅­ μ΅œλŒ€ 규λͺ¨μ˜ μ²­λ…„ 뢈자의 μΆ•μ œπŸŽŠμ΄λ©°,
    μΆ•μ œμ˜ μ›ν™œν•œ 운영과 μ•ˆλ‚΄λ₯Ό μœ„ν•œ μ‚¬μ΄νŠΈλ₯Ό κ°œλ°œν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ‘€ νŒ€μ› ꡬ성

νŒ€μž₯ νŒ€μ› νŒ€μ›

κΉ€μ°¬λΉˆ

김세은

μž„μ£Όν˜

πŸ›  ν”„λ‘œμ νŠΈ 아킀텍쳐

image

✨ 개발 ν™˜κ²½

  • Language : Java 17
  • Library & Framework : Spring Boot 3.3.2, Gradle
  • Database : PostgreSQL
  • Deploy: AWS (EC2, S3, RDS), Nginx
  • CI/CD : Jenkins, Docker

πŸ“Œ Commit Convention (컀밋 λ©”μ‹œμ§€ κ·œμΉ™)

πŸ“Œ ν•œ μ»€λ°‹μ—λŠ” ν•œκ°€μ§€ 이슈만 담을 것
πŸ“Œ κ°€λŠ₯ν•œ 본문을 포함할 것.

TYPE Subject Des.
feat μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” 경우 브랜치 첫 μ»€λ°‹μ΄λ‚˜ κΈ°λŠ₯ μΆ”κ°€μ‹œ
fix μ½”λ“œλ₯Ό μˆ˜μ •ν•˜λŠ” 경우 버그 및 μ½”λ“œ μˆ˜μ •μ˜ λͺ¨λ“  κ³Όμ •
docs λ¬Έμ„œλ§Œμ„ μˆ˜μ •ν•˜λŠ” 경우 주석 μˆ˜μ •λ„ 포함 ν•΄ μ£Όμ„Έμš”
refactor 버그 μˆ˜μ • or κΈ°λŠ₯ μΆ”κ°€κ°€ μ—†λŠ” μ½”λ“œ λ³€κ²½ λ¦¬νŒ©ν† λ§ν•˜λŠ” κ³Όμ •
test ν…ŒμŠ€νŠΈ μΆ”κ°€ κ³Όμ • λˆ„λ½λœ ν…ŒμŠ€νŠΈ μΆ”κ°€ λ˜λŠ” κΈ°μ‘΄ ν…ŒμŠ€νŠΈ μˆ˜μ •

CLIμ—μ„œ 컀밋 λ©”μ‹œμ§€ μ—¬λŸ¬ μ€„λ‘œ μž‘μ„±ν•˜λŠ” 방법 (2번째 쀄 λΆ€ν„° λ³Έλ¬Έ)

βœ… μŒλ”°μ˜΄ν‘œ(")λ₯Ό λ‹«μ§€ 말고 κ°œν–‰(μ—”ν„°)ν•˜λ©° μž‘μ„±ν•˜λ©΄ λ©λ‹ˆλ‹€.

🚩 브랜치 μ „λž΅

  • Git-Flow μ „λž΅μ„ 기반으둜 ν•©λ‹ˆλ‹€.
  • main, release, develop 브랜치λ₯Ό λ©”μΈμœΌλ‘œ κ°€μ Έκ°‘λ‹ˆλ‹€.
  • feature 브랜치λ₯Ό 보쑰 브랜치둜 κ°€μ Έκ°‘λ‹ˆλ‹€.
    • main λΈŒλžœμΉ˜λŠ” 배포 λ‹¨κ³„μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.
    • release λΈŒλžœμΉ˜λŠ” 배포 직전 QA λ‹¨κ³„μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.
    • develop λΈŒλžœμΉ˜λŠ” 개발 λ‹¨κ³„μ˜ Git-flowμ—μ„œ main 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.
    • feature λΈŒλžœμΉ˜λŠ” κΈ°λŠ₯ λ‹¨μœ„λ‘œ μ‚¬μš©ν•˜κ³  merge ν›„ 각 브랜치λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.
  • PR μ’…λ£ŒλŠ” μ΅œμ†Œ 1λͺ… μ΄μƒμ˜ 리뷰어가 승인 ν•œ κ²½μš°μ—λ§Œ κ°€λŠ₯ν•˜λ„λ‘ ν•©λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ μ‹œμž‘ 방법

  • git clone ν›„ InteliJκ°€ μžˆλ‹€λŠ” κ°€μ • ν•˜μ— μ„œμˆ ν•©λ‹ˆλ‹€.
  • ν”„λ‘œμ νŠΈ λ‚΄ /repository μœ„μΉ˜μ— BEνŒ€ application.yml νŒŒμΌμ„ λ„£μ–΄μ£Όμ„Έμš”.
// Gradle λΉŒλ“œ (μ˜μ‘΄μ„± μ„€μΉ˜)
./gradlew build
// λΉŒλ“œνŒŒμΌ μ‹€ν–‰
java -jar ./build/lib/...jar

πŸ’Ώ ν™˜κ²½ μ„€μ •

  • DB μ—°κ²° λ˜λŠ” AWS 계정 κ΄€λ ¨ λ―Όκ°ν•œ μ •λ³΄λŠ” Git에 올리면 μ•ˆλ©λ‹ˆλ‹€.
  • resource μ•„λž˜ application 파일이 add λ˜μ§€ μ•Šλ„λ‘ μ‘°μ‹¬ν•΄μ£Όμ„Έμš”.
    -> ignoreκ°€ λ˜μ–΄μžˆμ§€λ§Œ κ·Έλž˜λ„ ν˜Ήμ‹œ λͺ¨λ₯΄λ‹ˆ...

μ‹€μˆ˜λ‘œ λ―Όκ°ν•œ 데이터가 μ˜¬λΌκ°„ 경우

  • λ¨Όμ € νŒ€ μ±„νŒ…λ°©μ— λ‚΄μš© μ „νŒŒλΆ€ν„° ν•΄ μ£Όμ„Έμš”.
  • Git-Filterλ₯Ό μ΄μš©ν•΄μ„œ μ§€μ›Œμ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.
  • ꡬ문 : git filter-branch -f --index-filter "git rm --cached --ignore-unmatch <경둜>/<파일λͺ…>" --prune-empty -- --all
  • κ·Έ λ‹€μŒ git push --force --all 둜 μ—…λ°μ΄νŠΈ ν•΄ μ£Όμ„Έμš”.

About

πŸ™πŸ» 영캠퍼 1κΈ° - Back-End νŒ€ μ €μž₯μ†Œμž…λ‹ˆλ‹€.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 97.9%
  • HTML 1.6%
  • Shell 0.5%