๊น์ต์ ์ฌ์ด๋ ํ๋ก์ ํธ FitaPet ๋ฐฑ์๋ Repository ์ ๋๋ค.
- ๊ธฐํ&๋์์ธ: ๊น์ ๋น
- ํ๋ก ํธ์๋: ์ตํฌ์ง
- ๋ฐฑ์๋: ์์ฌ์
- Side Project: Kakao Chat CI
- NCP Cloud Function & Object Storage presigned URL ๋ฐ๊ธ
- Service Layer ๋ถ๋ฆฌ์ ๋ํ์ฌ
- API ์ธ๋ถํ์ ๋ํ์ฌ
- OIDC OAuth2 ์ธ์ฆ
- Nginx ๊ตฌ์ฑ๊ณผ HTTPS ์ค์
- GitHub Action & NCP CD pipeline ๊ตฌ์ถ
- ๋ฉํฐ ๋ชจ๋ํ
- Project Summary
- Version Control
- Dev Environment
- Tech Stack
- Project Check List
- System Architecture
- WAS Architecture
- ERD
- Branch Convention
Version # | Revision Date | Description | Author |
---|---|---|---|
v0.0.1 | 2023.10.1 | ํ๋ก์ ํธ ๊ธฐ๋ณธ ๊ธฐ๋ฅ ๊ตฌํ ๋ฐ ๋ฐฐํฌ | ์์ฌ์ |
v0.0.2 | 2024.02.17 | ๋ฉํฐ ๋ชจ๋ํ ์ํคํ ์ฒ ์ถ๊ฐ | ์์ฌ์ |
- IntelliJ 2023.1.2
- Postman 10.18.9
- GitHub
- Windows 11
- Notion
- JDK 17
- SpringBoot 3.1.0
- SpringBoot Security
- Spring Data JPA
- Spring Doc Open API
- Lombok
- JUnit5
- jjwt 0.11.5
- httpclient 4.5.14 & httpclient5 5.1.4
- Gradle
- MySQL8
- Redis
- AWS EC2 (for Build Server)
- Docker & Docker-compose
- Jenkins
- GitHub Todo bot
- GitHub Action
- Kakao Talk
- Naver Cloud Platform Server (for WAS)
- Naver Cloud Platform Cloud DB for Redis
- Naver Cloud Platform Object Storage
- Naver Cloud Platform Simple & Easy Notification Service
- Naver Cloud Platform API Gateway & Cloud Functions
- Goorm IDE (for DB Server)
- ์ค์ ์๋น์ค๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ๋ฐฐํฌํ๊ณ ์ด์ํ๋ ๊ฒฝํ์ ํด๋ณด์๋ค.
- ์ ์ ์ ํผ๋๋ฐฑ์ ๋ฐ๋ผ ์ฑ๋ฅ/์ฌ์ฉ์ฑ์ ๊ฐ์ ํ๊ณ ์ ๊ท ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ณด์๋ค.
- ๋ฐ๊ฒฌ๋๋ ๋ฒ๊ทธ์ ๊ฐ์ ์ฌํญ๋ค์ ์ ๋ฆฌํ๊ณ ์์ธ ์ด์๋ค์ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํด๋ณด์๋ค.
- ์ฝ๋๋ฅผ ์ง์์ ์ผ๋ก ๋ฆฌํฉํ ๋งํ๊ณ ๋์์ธ ํจํด์ ์ ์ฉํด๋ณด์๋ค.
- ์์ ์๋์์ ๋ ์ข์ ์ค๊ณ์ ๋ ๋น ๋ฅธ ๊ฐ๋ฐ ์ฌ์ด์ ํธ๋ ์ด๋ ์คํ๋ฅผ ๊ณ ๋ฏผํด๋ณธ ์ ์ด ์๋ค.
- ๋ฐ๋ณต๋๋ ์์ ๊ณผ ๋ฐฐํฌ์ ์๋ฐ๋๋ ์์ ๋ค์ ์๋ํ ํด๋ณด์๋ค.
- ์ธ์ด๋ ํ๋ ์์ํฌ๋ง์ผ๋ก ๊ตฌํํ ์ ์๋ ๊ฒ๋ค์ ์ง์ ๊ตฌํํด๋ณด์๋ค.
- ๋ด๊ฐ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์ ์ํฌ์ ํ๊ณ๋ฅผ ๋๋ผ๊ณ ๊ฐ์ ํด๋ณด์๋ค.
- ์ฝ๋๋ ์ ํ์ ํ๋ฆฌํฐ๋ฅผ ์ ์งํ๊ธฐ ์ํ ๋ถ์ํด์ด๋ ํ ์คํธ ํด์ ๋์ ํด๋ณด์๋ค.
- ํ์ธ๊ณผ์ ํ์ ์ ํจ์จ์ ์ผ๋ก ํ๊ธฐ ์ํ ๊ณ ๋ฏผ์ ํด๋ณด์๋ค.
- WAS Server ๋ด๋ถ์ Nginx๋ฅผ ํตํด Reverse Proxy๋ฅผ ๊ตฌํํ์ต๋๋ค.
- Multi Module Architecture๋ฅผ ์ ์ฉํ์ฌ ๊ฐ ๋ชจ๋๋ณ๋ก ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ฐํ๊ณ , ๋น๋ ๋ฐ ๋ฐฐํฌ๋ฅผ ์งํํ๊ณ ์์ต๋๋ค.
- ๊ฐ ๋ชจ๋๋ณ๋ก ๋ด๋นํ๋ ์ญํ ์ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค.
- ๊ฐ ๋ชจ๋์ ๋ํ Convention์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- fitapet-common : ๋ ๋ฆฝ์ ์ธ ์คํ ์์ค๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ์์ค์ ๊ณตํต ๋ชจ๋. ๋ชจ๋ ๋ชจ๋์ด ์์กดํ๋ค.
- fitapet-infra : ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ธํ๋ผ์คํธ๋ญ์ฒ, ํด๋ผ์ฐ๋ ์๋น์ค์ ์ฐ๋ํ๋ ๋ชจ๋. common ๋ชจ๋์ ์์กดํ๋ค.
- fitapet-domain : ๋๋ฉ์ธ ๋ก์ง์ ๋ด๋นํ๋ฉฐ, repository๋ฅผ ๋ณดํธํ๋ ๋ชจ๋. common ๋ชจ๋์ ์์กดํ๋ค.
- fitapet-app-external-api : Client์ ์ฐ๋ํ๋ ์ธ๋ถ API๋ฅผ ๋ด๋นํ๋ ๋ชจ๋. common, infra, domain ๋ชจ๋ ๋ชจ๋์ ์์กดํ๋ค.
- ํ์ฌ ๋ง์ ๋ถ๋ถ์ด ์์ ๋์๊ณ , ์์ผ๋ก๋ ๊ณ์ ์์ ๋ ์์ ์ ๋๋ค.
main โโ develop โโ feature
โโโ hotfix
Brach name | description |
---|---|
main | ๋ฐฐํฌ ์ค์ธ ์๋น์ค ๋ธ๋์น โข ์ค์ ์๋น์ค๊ฐ ์ด๋ฃจ์ด์ง๋ ๋ธ๋์น์ ๋๋ค. โข ํด๋น ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก develop ๋ธ๋์น๊ฐ ๋ถ๊ธฐ๋ฉ๋๋ค. โข ๊ธด๊ธ ์์ ์๊ฑด์ ๋ํด์๋ hotfix ๋ธ๋์น์์ ์ฒ๋ฆฌํฉ๋๋ค. |
develop | ์์
๋ธ๋์น โข ๊ฐ๋ฐ, ํ ์คํธ, ๋ฆด๋ฆฌ์ฆ ๋ฑ ๋ฐฐํฌ ์ ๋จ๊ณ์ ๊ธฐ์ค์ด ๋๋ ๋ธ๋์น์ ๋๋ค. โข ํ๋ก์ ํธ์ default ๋ธ๋์น์ ๋๋ค. โข ํด๋น ๋ธ๋์น์์ feature ๋ธ๋์น๊ฐ ๋ถ๊ธฐ๋ฉ๋๋ค. |
feature | ๊ธฐ๋ฅ ๋จ์ ๊ตฌํ โข ๊ฐ๋ณ ๊ฐ๋ฐ์๊ฐ ๋งก์ ์์ ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น์ ๋๋ค. โข feature/(feature-name)์ฒ๋ผ ๋จธ๋ฆฟ๋ง-๊ผฌ๋ฆฟ๋ง(๊ฐ๋ฐํ๋ ๊ธฐ๋ฅ)์ผ๋ก ๋ช ๋ช ํฉ๋๋ค. โข kebab-case ๋ค์ด๋ฐ ๊ท์น์ ์ค์ํฉ๋๋ค. |
hotfix | ์๋น์ค ์ค ๊ธด๊ธ ์์ ์ฌํญ ์ฒ๋ฆฌ โข main์์ ๋ถ๊ธฐํฉ๋๋ค. |
emoji | message | description |
---|---|---|
โจ | feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ, ๊ธฐ์กด ๊ธฐ๋ฅ์ ์๊ตฌ ์ฌํญ์ ๋ง์ถ์ด ์์ |
๐ | fix | ๊ธฐ๋ฅ์ ๋ํ ๋ฒ๊ทธ ์์ |
๐ | build | ๋น๋ ๊ด๋ จ ์์ |
๐ | chore | ํจํค์ง ๋งค๋์ ์์ , ๊ทธ ์ธ ๊ธฐํ ์์ ex) .gitignore |
๐ท | ci | CI ๊ด๋ จ ์ค์ ์์ |
๐ | docs | ๋ฌธ์(์ฃผ์) ์์ |
๐จ | style | ์ฝ๋ ์คํ์ผ, ํฌ๋งทํ ์ ๋ํ ์์ |
โป๏ธ | refactor | ๊ธฐ๋ฅ ๋ณํ๊ฐ ์๋ ์ฝ๋ ๋ฆฌํฉํฐ๋ง |
โ | test | ํ ์คํธ ์ฝ๋ ์ถ๊ฐ/์์ |
๐ | release | ๋ฒ์ ๋ฆด๋ฆฌ์ฆ |
๐ | hotfix | ๊ธด๊ธ ์์ |
๐ | branch | ๋ธ๋์น ์ถ๊ฐ/๋ณํฉ |
ํ ๊ธ ์ ๊ธฐ/ํผ์น๊ธฐ
- [ ] `**feat : ํ์๊ฐ์
API ๊ตฌํ**`๊ณผ ๊ฐ์ด `**๋จธ๋ฆฟ๋ง: ๋ด์ฉ**` ํ์์ผ๋ก ์์ฑํฉ๋๋ค.
- [ ] refactoring์ ๊ฒฝ์ฐ ๊ธฐ๋ฅ ๋ณํ ์์ด ๊ตฌ์กฐ ๊ฐ์ ์ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํฉ๋๋ค.
- [ ] ์ฌ๋ฌ ์์
์ ๋์ ์คํํ ๊ฒฝ์ฐ ํ ์ค์ ํ ๋ด์ฉ์ฉ ์
๋ ฅํฉ๋๋ค. ์์๋ ๋ฉ์ธ์ด ๋ ์์
์ ์ฐ์ ์ผ๋ก ๋ก๋๋ค.
```
- โ ์๋ชป๋ ์์_1
feat: ๋ฒํผ ์ปดํฌ๋ํธ ๊ตฌํ, API ์ค๋ณต ์์ฒญ ํ์ ํด๊ฒฐ
- โ ์๋ชป๋ ์์_2
feat: ๋ฒํผ ์ปดํฌ๋ํธ ๊ตฌํ || fix: API ์ค๋ณต ์์ฒญ ํ์ ํด๊ฒฐ
- โญ ์ฌ๋ฐ๋ฅธ ์์
feat: ๋ฒํผ ์ปดํฌ๋ํธ ๊ตฌํ
fix: API ์ค๋ณต ์์ฒญ ํ์ ํด๊ฒฐ
```