Connecteamedλ 볡μ‘ν μ€μ κ³Όμ μ μ΅μννμ¬ λꡬλ μ½κ² ν νλ‘μ νΈλ₯Ό μμν μ μκ² λκ³ , μ 무 κ³Όμ μμ μμΈ λ°μ΄ν°λ₯Ό λ°νμΌλ‘ νλ‘μ νΈμ μμλΆν° νκ³ κΉμ§μ νλ¦μ κ΄λ¦¬ν΄μ£Όλ ν νμ κ΄λ¦¬ νλ«νΌμ λλ€.
| μ λ/κΉλ―Όμ | μ /κΉμΈμ | ν/λ₯λν | λ§λ/λ°μλ―Ό |
|---|---|---|---|
sunnyanna0 |
sejeong223 |
fbehdgus906 |
sm010422 |
|
π§© Language & Framework |
ποΈ Database & Cache |
|
π Authentication |
βοΈ Infra & Deployment |
|
π CI/CD |
π§ͺ Test |
|
π¦ Build Tool |
Connected-BE/
βββ src/
β βββ main/
β β βββ java/com/connecteamed/server/
β β β βββ domain/ # λλ©μΈλ³ λΉμ¦λμ€ λ‘μ§
β β β β βββ collaboration/ # νμ
κ΄λ¦¬
β β β β βββ contribution/ # κΈ°μ¬λ μΈ‘μ λ° κ΄λ¦¬
β β β β βββ dashboard/ # λμ보λ
β β β β βββ document/ # 곡μ λ¬Έμ κ΄λ¦¬
β β β β βββ invite/ # ν/νλ‘μ νΈ μ΄λ
β β β β βββ meeting/ # νμλ‘ κ΄λ¦¬
β β β β βββ member/ # μ¬μ©μ κ³μ κ΄λ¦¬
β β β β βββ mypage/ # λ§μ΄νμ΄μ§ λ° κ°μΈ μ€μ
β β β β βββ notification/ # μλ¦Ό μλΉμ€
β β β β βββ project/ # νλ‘μ νΈ μμ± λ° κ΄λ¦¬
β β β β βββ retrospective/ # νλ‘μ νΈ νκ³ κ΄λ¦¬
β β β β βββ task/ # μ
무 κ΄λ¦¬
β β β β βββ team/ # ν κ΅¬μ± λ° κ΄λ¦¬
β β β β βββ token/ # JWT/Refresh ν ν° μ²λ¦¬
β β β βββ global/ # μ μ μ€μ λ° κ³΅ν΅ λͺ¨λ
β β β β βββ apiPayload/ # κ³΅ν΅ μλ΅(Success/Error) κ·κ²©
β β β β βββ auth/ # 보μ μΈμ¦/μΈκ° λ‘μ§
β β β β βββ config/ # νλ μμν¬ λ° μΈνλΌ μ€μ
β β β β βββ entity/ # κ³΅ν΅ μν°ν°(BaseTime λ±)
β β β β βββ util/ # λ²μ© μ νΈλ¦¬ν° ν¨μ
β β β βββ ConnecteamedApplication.java
β β βββ resources/
β β βββ prompts/ # AI λͺ¨λΈμ© ν둬ννΈ κ΄λ¦¬
β β βββ static/ # ν
μ€νΈμ© μ μ 리μμ€(HTML)
β β βββ application.yaml # μμ€ν
νκ²½ μ€μ
β βββ test/ # ν
μ€νΈ μ½λ μ λ λ° ν΅ν© ν
μ€νΈ
βββ build.gradle # λΉλ μ€ν¬λ¦½νΈ λ° μμ‘΄μ± κ΄λ¦¬
λ³Έ νλ‘μ νΈλ μλμ Git λ° νμ κ·μΉμ λ°λ¦ λλ€.
type(scope): subject <-- μ λͺ© (νμ)
body <-- λ³Έλ¬Έ (μ ν: μμΈν μ€λͺ
μ΄ νμν λ)
footer <-- κΌ¬λ¦¬λ§ (μ ν: μ΄μ λ²νΈ λ«μ λ)
κ°μ₯ λ§μ΄ μ°μ΄λ νμ€(Conventional Commits)μ λ°λ¦ λλ€.
feat: μλ‘μ΄ κΈ°λ₯ μΆκ° (μ¬μ©μμκ² μν₯μ λ―ΈμΉ¨)fix: λ²κ·Έ μμ (μ¬μ©μμκ² μν₯μ λ―ΈμΉ¨)docs: λ¬Έμ μμ (README.md, JavaDoc, Swagger λ±)style: μ½λ ν¬λ§·ν , μΈλ―Έμ½λ‘ λλ½, λ€μ¬μ°κΈ° λ± (λΉμ¦λμ€ λ‘μ§ λ³κ²½ μμ)refactor: μ½λ 리ν©ν λ§ (κΈ°λ₯ λ³κ²½ μμ΄ μ½λ κ΅¬μ‘°λ§ κ°μ )test: ν μ€νΈ μ½λ μΆκ° λ° λ¦¬ν©ν λ§chore: λΉλ μ€μ (Gradle/Maven), ν¨ν€μ§ λ§€λμ μ€μ , λ¨μ νμΌ μ΄λ λ±ci: CI κ΅¬μ± νμΌ λ° μ€ν¬λ¦½νΈ λ³κ²½perf: μ±λ₯ κ°μ
- Good:
feat(auth): μΉ΄μΉ΄μ€ μμ λ‘κ·ΈμΈ API ꡬν(λ²μ λͺ μ, λͺ νν νμ) - Bad:
feat: λ‘κ·ΈμΈ(λ무 ν¬κ΄μ μ)
Git Flow μ λ΅μ κΈ°λ°μΌλ‘ μ΄μν©λλ€. λΈλμΉλͺ λ§ λ³΄κ³ λ μ΄λ€ μμ μ νλμ§ μ μ μλλ‘ μ΄μ λ²νΈλ₯Ό ν¬ν¨νλ κ²μ κΆμ₯ν©λλ€.
main: λ°°ν¬ κ°λ₯ν μνμ μ½λ (Production)develop: λ€μ λ°°ν¬λ₯Ό μν΄ κ°λ° μ€μΈ μ½λ (Integration)
develop λΈλμΉμμ λΆκΈ°νμ¬ μμ
ν PRμ 보λ
λλ€.
- Feature:
feat/μ΄μλ²νΈ-κΈ°λ₯λͺ- ex)
feat/12-social-login
- ex)
- Fix:
fix/μ΄μλ²νΈ-λ²κ·Έλͺ- ex)
fix/34-websocket-error
- ex)
- Hotfix:
hotfix/μ΄μλ²νΈ-κΈνλ²κ·Έ(mainμμ λ°λ‘ λΆκΈ° μ)
μ λͺ©λ§μΌλ‘λ μμ λ΄μ©μ μ μ μμ΅λλ€. ν νλ¦Ώμ μ ν΄λλ κ²μ΄ μ’μ΅λλ€.
[Feat] κΈ°λ₯λͺ: μλ‘μ΄ κΈ°λ₯[Fix] λ²κ·Έλͺ: λ²κ·Έ μμ [Refactor] λμ: 리ν©ν λ§[Chore] μμ λͺ: κΈ°ν μ€μ
## π‘ κ°μ
- (μμ
μ λͺ©μ , λ°°κ²½, νΉμ ν΄κ²°νλ €λ λ²κ·Έλ₯Ό κ°λ΅ν μ€λͺ
ν©λλ€.)
## π μμ
μμΈ λ΄μ©
- [ ] μΈλΆ μμ
λ΄μ© 1
- [ ] μΈλΆ μμ
λ΄μ© 2
- [ ] μΈλΆ μμ
λ΄μ© 3
## π μ°Έκ³ μ¬ν
- (Jira ν°μΌ, λμμΈ μμ, κ΄λ ¨ λ§ν¬ λ±)
- μ λͺ©:
[Feat] μΉ΄μΉ΄μ€ λ‘κ·ΈμΈ κΈ°λ₯ ꡬν (#μ΄μλ²νΈ) - λ΄μ©:
- μμ ν λ΄μ© μμ½
- μ§μ€μ μΌλ‘ 리뷰ν΄μ€¬μΌλ©΄ νλ λΆλΆ
- ν μ€νΈ λ°©λ² (Postman μ€ν¬λ¦°μ· λ±)