๋ ์ด์ ๋งํฌ๋ฅผ ํ์ฐ์ง ๋ง์ธ์. ํ ์คํธ ๋จน๋ฏ์ด ๊ฐ๋จํ๊ฒ!
- 33๊ธฐ DO SOPT APP-JAM (2023.12.17 ~ )
 
| ๋ฏธํ | ์ํ | 
|---|---|
| Category | Used | 
|---|---|
| Java version | Java 17 | 
| Spring version | 3.2.0 | 
| Cloud Computing | AWS EC2 (Ubuntu 22.04 LTS) | 
| Database | AWS RDS (MySQL 8.0.33) | 
| File Upload | AWS S3 | 
| MessageQueue | AWS SQS | 
| CI/CD | Github Actions, Docker, Nginx | 
| Notification | Firebase Cloud Messaging | 
| Monitoring | Sentry, Slack | 
| API Docs | Swagger, Notion | 
โโโ ๐.github
โโโ ๐ย main
	โโโ ๐ย java
		โโโ ๐ย com.app.toaster
			โโโ ๐ย controller(์ปจํธ๋กค๋ฌ ํ์ผ)
				โโโ ๐๏ธย dto
					 โโโ๐๏ธย request
					 โโโ๐๏ธย response
					 โโโ๐๏ธย valid(valid custom์ด๋
ธํ
์ด์
 ๊ด๋ฆฌ ํด๋)
			โโโ ๐ย domain(์ํฐํฐ ํ์ผ)
			
			โโโ ๐ย infrastructure(๋ ํฌ์งํ ๋ฆฌ ํด๋)
			
			โโโ ๐ย service(์๋น์ค ํ์ผ)
				โโโ ๐๏ธย auth
				โโโ ๐๏ธย parse
				โโโ ๐๏ธย search
				โโโ ๐๏ธย toast
				โโโ ๐๏ธย timer
			
			โโโ ๐ย exception(Exception enum, Exception class ํ์ผ)
				โโโ ๐๏ธย model
			
			โโโ ๐ย external(์๋น์ค ํ์ผ)
				โโโ ๐๏ธย slack
				โโโ ๐๏ธย client.aws
					โโโ ๐๏ธย AWSConfig
					โโโ ๐๏ธย S3Service
			
			โโโ ๐ย common(๊ณต์ฉ ํด๋์ค ๊ด๋ฆฌ)
				โโโ๐๏ธย advice
				โโโ๐๏ธย dto	
			
			โโโ ๐ย config(๊ณต์ฉ ํด๋์ค ์ค์  ๊ด๋ฆฌ)
				โโโ๐๏ธย user
				โโโ๐๏ธย jwt			
		โโโ ๐๏ธย resources
			โโโ ๐ย application.yml
- ํ์ผ ์ด๋ฆ ๋ฐ ํด๋์ค, ์ธํฐํ์ด์ค ์ด๋ฆ: ํ์ค์นผ ์ผ์ด์ค(Pascal Case)
 - Entity์์ ์ฌ์ฉ๋๋ ์์ฑ๊ฐ๋ค์ ? ์นด๋ฉ ์ผ์ด์ค(camel Case)
 - ๋ด๋ถ์์ ์ฌ์ฉ๋๋ ํจ์ ๋ฐ ๊ธฐํ ์ฌ์ฉ: ์นด๋ฉ ์ผ์ด์ค(camelCase)
 
์ธํฐํ์ด์ค(interface)์ ์ด๋ฆ์ ๋ช ์ฌ/๋ช ์ฌ์ ๋ก ํน์ ํ์ฉ์ฌ/ํ์ฉ์ฌ์ ๋ก ์ง๋๋ค.
ํด๋์ค ์ด๋ฆ์ ๋ช ์ฌ๋ ๋ช ์ฌ์ ๋ก ์ง๋๋ค.
๋ฉ์๋๋ช ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ฌ๋ก ์์ํ๋ค.
๋ค๋ฅธ ํ์ ์ผ๋ก ์ ํํ๋ ๋ฉ์๋๋ ๋น๋ ํจํด์ ๊ตฌํํ ํด๋์ค์ ๋ฉ์๋์์๋ ์ ์น์ฌ๋ฅผ ์ธ ์ ์๋ค.
"static final"๋ก ์ ์ธ๋์ด ์๋ ํ๋์ผ ๋ ์์๋ก ๊ฐ์ฃผํ๋ค.
์์ ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ฑํ๋ฉฐ, ๋ณตํฉ์ด๋ ์ธ๋์ค์ฝ์ด'_'๋ฅผ ์ฌ์ฉํ์ฌ ๋จ์ด๋ฅผ ๊ตฌ๋ถํ๋ค.
์์๊ฐ ์๋ ํด๋์ค์ ๋ฉค๋ฒ๋ณ์/์ง์ญ๋ณ์/๋ฉ์๋ ํ๋ผ๋ฏธํฐ์๋ ์๋ฌธ์ ์นด๋ฉํ๊ธฐ๋ฒ(Lower camel case)์ ์ฌ์ฉํ๋ค.
๋ฉ์๋ ๋ธ๋ญ ๋ฒ์ ์ด์์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๋ ๋ณ์์๋ 1๊ธ์๋ก ๋ ์ด๋ฆ์ ์ฐ์ง ์๋๋ค.
๋ฐ๋ณต๋ฌธ์ ์ธ๋ฑ์ค๋ ๋๋ค ํํ์์ ํ๋ผ๋ฏธํฐ ๋ฑ ์งง์ ๋ฒ์์ ์์ ๋ณ์์๋ ๊ด๋ก์ ์ผ๋ก 1๊ธ์ ๋ณ์๋ช
์ ์ฌ์ฉํ  ์ ์๋ค.
๋ชจ๋ ์์ ์ ๋จ์๋ github์ ์์ฑ๋ Issue๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค.
Issue์ ๋ณผ๋ฅจ์ ์ต์ ํ๋์ ๊ธฐ๋ฅ์ผ๋ก ํฉ๋๋ค.
ํ๋์ ์ด์๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ธฐ ์ ์๋ ํน๋ณํ ์ํฉ์ด ์๋ ์ด์ ๋ค๋ฅธ ์์ ์ ๋ํ ์ด์๋ฅผ ์์ฑํ์ง ์์ต๋๋ค.
Issue โค PR
ํ๋์ ์ด์์ ๋ํด์ ๋ฐ๋์ ํ๋์ PR์ด ์ด๋ ค์ผํ๋ ๊ฑด ์๋๋๋ค.
์ํํ ์ฝ๋๋ฆฌ๋ทฐ์ ๋ฆฌ๋ทฐ์ ๋ํ ๋ด์ฉ์ ๋ฐ์ํ๊ธฐ ์ํด์ PR์ 3๊ฐ์ commit์ ๋์ด๊ฐ์ง ์์์ผํฉ๋๋ค.
ํ๋์ PR์ 3๊ฐ ์ด์์ File Change๋ ์ง์ํฉ๋๋ค.
Branch ์ ๋ต์ Git-flow๋ฅผ ์ค์ํฉ๋๋ค.
์ฐ๋ฆฐ Git-flow๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ | ์ฐ์ํํ์ ๋ค ๊ธฐ์ ๋ธ๋ก๊ทธ
branch ์ด๋ฆ: ๊ด๋ จ๋ธ๋์น ๋ถ๋ฅ/#[Issue tracker] ex) feature/#1
| ์ปค๋ฐ ๊ตฌ๋ถ | ์ค๋ช | 
|---|---|
| Feature | (Feature) ๊ฐ์ ๋๋ ๊ธฐ๋ฅ ์ถ๊ฐ | 
| Bug | (Bug Fix) ๋ฒ๊ทธ ์์  | 
| Doc | (Documentation) ๋ฌธ์ ์์ | 
| Test | (Test) ํ ์คํธ ์ถ๊ฐ/์์  | 
| Build | (Build) ๋น๋ ํ๋ก์ธ์ค ๊ด๋ จ ์์ (yml) | 
| Performance | (Performance) ์๋ ๊ฐ์ | 
| Refactor | (Cleanup) ์ฝ๋ ์ ๋ฆฌ/๋ฆฌํฉํ ๋ง | 
- ์ด์๋ฒํธ์ ํจ๊ป ์ปค๋ฐ ๋ด์ฉ์ ์ ๋๋ค.
 - ์์ : [#1] feataure : ~
 

