React | TypeScript |
---|---|
๋น ๋ฅธ ๋ ๋๋ง React๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฐ๋ ฅํ๊ณ ์ ์ฐํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก์, ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ์ ๊ฐ์ DOM์ ํตํด ๋น ๋ฅธ ๋ ๋๋ง์ ์ ๊ณตํฉ๋๋ค. ๋ชจ๋ ๊ฐ๋ฐ ์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋๋ฉฐ, ์ปค๋ฎค๋ํฐ์ ์ํ๊ณ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ์ด๋ ๋ชจ๋ ๊ฐ๋ฐ์ ๋์์ด ๋๊ธฐ์ React๋ก ์ ์ ํ์์ต๋๋ค. |
์ฝ๋ ์์ ํ TypeScript๋ ์ ์ ํ์ ์ธ์ด๋ก, ์ฝ๋๋ฅผ ๋ ์์ ์ ์ผ๋ก ๋ง๋ค๊ณ ๊ฐ๋ฐ์ ์ฌ์ด์ ํ์ ์ ์ฉ์ดํ๊ฒ ํด์ค๋๋ค. ์์ฐ์ฑ ์ปดํ์ผ ๋จ๊ณ์์ ์๋ฌ๋ฅผ ๋ฐ๊ฒฌํ์ฌ ๋ฐํ์ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๋ฉฐ, ์ฝ๋ ํํธ์ ์๋ ์์ฑ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ์์ฐ์ฑ์ ๋์ฌ์ฃผ๋ ์ฅ์ ์ด ์์ด TypeScript๋ฅผ ์ ์ ํ๊ฒ ๋์์ต๋๋ค. |
vite | Recoil |
---|---|
์ ์ํ ๊ฐ๋ฐ Vite๋ ๋น ๋ฅธ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๋๊ตฌ๋ก, ์ ์ํ ๊ฐ๋ฐ๊ณผ ๋น๋ ์๊ฐ์ ์ต์ํํฉ๋๋ค. ๋น ๋ฅธ ๋ฆฌ๋ก๋ฉ HMR(Hot Module Replacement)์ ํตํด ๋น ๋ฅธ ๋ฆฌ๋ก๋ฉ์ ์ ๊ณตํ๊ณ , ๊ธฐ๋ณธ์ ์ผ๋ก ES ๋ชจ๋์ ์ฌ์ฉํ์ฌ ๋น๋ ์๊ฐ์ ์ค์ฌ์ค๋ค๋ ์ฅ์ ์ด ์์ด vite๋ฅผ ์ ์ ํ๊ฒ ๋์์ต๋๋ค. |
๋ณต์ก์ฑ ์ต์ํ Recoil์ React ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ฒ ๋ง๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ปดํฌ๋ํธ ๊ฐ ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ์ค์ ์ํ ๊ด๋ฆฌ ํจํด๊ณผ ๋น๊ตํ์ ๋ ์ฝ๋์ ๋ณต์ก์ฑ์ ์ค์ด๋ฉฐ, ๋ณต์กํ ์ํ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค๋ ์ ์ด ๋ฉ๋ฆฌํธ๊ฐ ์์ด ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก Recoil์ ์ ์ ํ์์ต๋๋ค. |
axios | styled components |
---|---|
Promise ๊ธฐ๋ฐ์ ์ข์ ํธํ์ฑ ์์ฒญ๊ณผ ์๋ต ์ธํฐ์ ํฐ, ์ทจ์ ์ฒ๋ฆฌ, ์ค๋ฅ ์ฒ๋ฆฌ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. Promise ๊ธฐ๋ฐ API๋ก ๋น๋๊ธฐ ์ฝ๋ ์์ฑ์ ์ฉ์ดํ๊ฒ ํด์ฃผ๊ธฐ ๋๋ฌธ์ axios๋ก ์ ์ ํ์์ต๋๋ค. |
CSS-in-JS Styled Components๋ CSS๋ฅผ JavaScript๋ก ์์ฑํ๋ ๋ฐฉ์์ผ๋ก, ์ปดํฌ๋ํธ ์คํ์ผ๋ง์ ์ฝ๊ฒ ๋ง๋ค์ด์ค๋๋ค. ๋์ ์คํ์ผ๋ง ์ปดํฌ๋ํธ ์ค์ฝํ ์คํ์ผ๋ง์ ํตํด ์คํ์ผ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋์ ์คํ์ผ๋ง์ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋ค๋ ์ ์ด ํฐ ๋ฉ๋ฆฌํธ๋ผ๊ณ ์๊ฐํด ์ ์ ํ์์ต๋๋ค. |
MSA ์ ์ ์ด์
๊ธฐ์กด์ ๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ๋ ๋จ์ผ ํ๋ก์ ํธ์ ์กด์ฌํ์ฌ ๋จ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ์๋๊ฐ ๋น ๋ฅด๋ค. ๋ํ ์ค๋ฅ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์์น๋ฅผ ์๋ณํ๊ธฐ ์ฝ๊ณ , ํ ์คํธ ์ํ์ด ์ฝ๋ค. ํ์ง๋ง ์ ํ๋ฆฌ์ผ์ด์ ๊ท๋ชจ๊ฐ ํฌ๋ค๋ฉด ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ธ ์ ์๊ณ ์ด ๋ฐฉ์์ ํ์ฅ์ ์ ์ฐํ์ง ์๋ค.
๋ค๋ฅธ ๋ค์ํ ๊ธฐ๋ฅ ์ถ๊ฐ๋ก ํ์ฅํ ๊ณํ์ด ์๊ณ , ํ์ฌ ๊ธฐํ๋จ๊ณ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ท๋ชจ๊ฐ ํฐ โ๊ด์ฅโ ์์๋ ๋ณต์กํ ์์คํ ์ค๊ณ ๋ฐ ๊ด๋ฆฌ๊ฐ ํ์ํ๊ณ ๋ค๋ฅธ ์๋น์ค์ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์๋ MSA ๊ตฌ์กฐ๋ฅผ ์ฑํํ์๋ค.
Spring Eureka | QueryDSL |
---|---|
์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ Spring Eureka๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ํต์ ์ ์ํด ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด ์๋น์ค๊ฐ ๋์ ์ผ๋ก ๋ฑ๋ก๋๊ณ ํด์ง๋ ์ ์์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ Eureka ์๋ฒ๋ฅผ ํตํด ์๋น์ค์ ์์น๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์ฑ Spring Eureka๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ง์ํ์ฌ ์ฌ๋ฌ ์ธ์คํด์ค ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์์ฒญ์ ๋ถ์ฐ์ํฌ ์ ์์ต๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ ํฅ์์ํค๋ฏ๋ก Spring Eureka๋ก ์ ์ ํ์์ต๋๋ค. |
ํ์
์์ ์ฑ QueryDSL์ ์ปดํ์ผ ์์ ์ ํ์ ๊ฒ์ฌ๋ฅผ ์ํํ๋ฏ๋ก ๋ฐํ์ ์์ ์ ๋ฐ์ํ ์ ์๋ SQL ์ฟผ๋ฆฌ ๊ด๋ จ ์ค๋ฅ๋ฅผ ์ฌ์ ์ ๋ฐฉ์งํฉ๋๋ค. ์ด๋ ์ฝ๋์ ์์ ์ฑ์ ํฅ์์ํค๊ณ ๋ฒ๊ทธ๋ฅผ ์ค์ฌ์ค๋๋ค. ๋์ ์ฟผ๋ฆฌ ์์ฑ QueryDSL์ ๋์ ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ ๋ฅ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ์ ๋ ฅ ๋๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฟผ๋ฆฌ๋ฅผ ๋์ ์ผ๋ก ์กฐ์ํ ์ ์๊ธฐ์ QueryDSL๋ก ์ ์ ํ์์ต๋๋ค. |
Docker | ElastiCache |
---|---|
์ผ๊ด์ฑ ์ปจํ ์ด๋๋ ํ๊ฒฝ์ ํจํค์งํํ๋ฏ๋ก ๊ฐ๋ฐ, ํ ์คํธ ๋ฐ ํ๋ก๋์ ํ๊ฒฝ ์ฌ์ด์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค. ๋์ผํ ์ปจํ ์ด๋๋ฅผ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์คํํ๊ณ ํ๋ก๋์ ์๋ฒ์์ ์คํํ ๋ ์์๋๋ก ๋์ํฉ๋๋ค. ์ ์ธ์ ๊ตฌ์ฑ Docker Compose์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ์ ์ ์ธ์ ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ๊ฒฝ ๋ณ์, ๋คํธ์ํน, ๋ณผ๋ฅจ ๋ง์ดํธ ๋ฑ์ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ด Docker๋ฅผ ์ ์ ํ์์ต๋๋ค. |
๋น ๋ฅธ ์ฑ๋ฅ ์ฒ๋ฆฌ๋์ด ๋ง๊ณ ์ง์ฐ ์๊ฐ์ด ์งง์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์คํ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ๊ฐํ๋ก ๋น ๋ฅธ ์๋ต ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ์ฐํ ๋ฐ์ดํฐ ๋ง๋ฃ ๊ด๋ฆฌ ๊ฐ ํค์ ๋ํด ๋ง๋ฃ ์๊ฐ์ ์ค์ ํ ์ ์์ด, Refresh Token์ ์ ํจ ๊ธฐ๊ฐ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํฉ๋๋ค. ๋ฐ๋ผ์ ElastiCache๋ก Refresh Token์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํด๋น ๊ธฐ์ ์ ์ ์ ํ์์ต๋๋ค. |
- ์ปดํฌ๋ํธ, ํ์ , ์ธํฐํ์ด์ค, ์์ฑ์, ํด๋์ค : PascalCase
- ๋ฉ์๋ & ํ๋ผ๋ฏธํฐ & ๋ณ์ : camelCase
- ์์ : SNAKE_CASE
commit๋ช | commit ๊ท์น |
---|---|
feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
fix | ๋ฒ๊ทธ ์์ ํน์ ๊ธฐ๋ฅ ์์ |
design | css ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ์ถ๊ฐ ๋ฐ ์์ |
docs | ๋ฌธ์ ์ถ๊ฐ ๋ฐ ์์ |
test | ํ ์คํธ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ ๋ |
style | ์ฝ๋ ํฌ๋งทํ , ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ๋ณ๊ฒฝ์ด ์์ด ์ถ๊ฐ ๋ฐ ์์ |
refactor | ์ฝ๋ ๋ฆฌํํ ๋ง |
build | ๋น๋ ๊ด๋ จ ํ์ผ ์ถ๊ฐ ๋ฐ ์์ |
rename | ํ์ผ ํน์ ํด๋๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง ์ํ |
remove | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํ |
chore | ๊ทธ ์ธ ์์ํ ์์ |
- commit message example
- feat : ์์ ๋ด์ฉ
- fix : ์์ ๋ด์ฉ
- chore : โฆ
- ์ปค๋ฐ์ ํ์ผ ๋จ์๋ก ์์ ํ ๋ด์ฉ ์ชผ๊ฐ์ ํ๊ธฐ
- ์ปค๋ฐ๋ฉ์์ง๋ ์์ด๋ก ์์ฑ
- ํ์
[Header]/[์ด์ ๋ฒํธ]/[์ด์ ์์ ๋ด์ฉ ์์ฝ]
- ex)
feat/#2/login
- ex)
Header | ๊ธฐ๋ฅ |
---|---|
main | ์ต์ข ๋ฐฐํฌํ ์๋น์ค ๋ด์ฉ์ ๋ธ๋์น |
develop | ์ฃผ์ ๊ฐ๋ฐ ๋ธ๋์น, ์ด ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ์์ ํ ๊ธฐ๋ฅ์ merge |
feat | ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ธ๋์น, ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ ์ develop ๋ธ๋์น์ merge |
fix | ๊ธฐ๋ฅ ์์ ๋ธ๋์น, ์ด๋ฏธ develop ๋ธ๋์น์ merge๋ ๊ธฐ๋ฅ์ ์์ ํ๊ณ ์๋ฃ ์ develop ๋ธ๋์น์ merge |
hotfix | master ๋ธ๋์น๋ก ๋ฐฐํฌ ํ์ ๋ฒ๊ทธ๊ฐ ์๊ฒผ์ ๋ ๊ธด๊ธ ์์ ํ๋ ๋ธ๋์น |
-
์ด์ ์ ๋ชฉ - feat : mainPage ์์
-
๋ง์ผ์คํค ์ ์ฉ
-
ํ ํ๋ฆฟ ์ด์ฉ
## ๐์ด์ ์ค๋ช ## ๐๏ธํฌ๋๋ฆฌ์คํธ - [ ] - [ ] ## ๐ฃ์ฐธ๊ณ ์ฌํญ
-
pr ์ ๋ชฉ - feat : mainPage ์์ (์ด์์ ๋ชฉ๊ณผ ๋์ผํ๊ฒ)
-
ํ ํ๋ฆฟ ์ด์ฉ
### ๐ Description ์ด์ ๋ฒํธ : #๋ฒํธ ### ๐ฝ ์์ ๋ด์ฉ - 1 - 2 ### ๐ผ ๊ฒฐ๊ณผ (์ฌ์ง ๋ฐ ์์ ๊ฒฐ๊ณผ)
Atomic Design ํจํด
์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ ๋์ด๊ณ ์, ์ํ ๋ฏน ๋์์ธ ํจํด ๋์
props drilling ์ต์ํํ๊ณ ์, templates ๋จ๊ณ ์ ๊ฑฐ ๋ฐ ์ํ๊ด๋ฆฌ recoil ๋์
โโโ node_modules
โโโ src
โ โโโ apis // api ํต์
โ โโโ assets // ์ด๋ฏธ์ง
โ โโโ components
โ โ โโโ atoms // ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ
โ โ โโโ molecules // atom๋ค์ ์งํฉ
โ โ โโโ organisms // molecules์ ์งํฉ
โ โโโ layout // ๊ณตํต ๋ ์ด์์
โ โโโ pages // ์ฌ์ฉ๋ ํ์ด์ง ๊ด๋ฆฌ ํด๋ (ํ์ด์ง์์ logic ์ฒ๋ฆฌ, async๋ก ๋ฐ์ดํฐ ์ฒ๋ฆฌ )
โ โโโ recoil // ์ํ๊ด๋ฆฌ recoil ํด๋
โ โโโ router // Page ๋ผ์ฐํ
โ โโโ style // ์ ์ญ style ์ง์
โโโโโโโ types // type๊ณผ interface ์ง์
โโโ App.tsx
โโโ main.tsx
โโโ index.html
โโโ package.json
โโโ tsconfig.json
โโโ eslintrc.json
โโโ vite.config.ts
DDD ํจํด
โโโ api-gateway
โโโ service1
โ โโโ src
โ โ โโโ main
โ โ โ โโโ java.com.gwangjang.backend
โ โ โ โ โโโ domain
โ โ โ โ โ โโโ service1
โ โ โ โ โ โโโ application
โ โ โ โ โ โ โโโ dto
โ โ โ โ โ โ โโโ mapper
โ โ โ โ โ โ โโโ service
โ โ โ โ โ โโโ domain
โ โ โ โ โ โ โโโ entity
โ โ โ โ โ โ โโโ repository
โ โ โ โ โ โ โโโ service
โ โ โ โ โ โโโ exception
โ โ โ โ โ โ โโโ exception
โ โ โ โ โ โโโ presentation
โ โ โ โ โ โโโ controller
โ โ โ โ โ โโโ mapper
โ โ โ โ โ โโโ service
โ โ โ โ โโโ global
โ โ โ โ โโโ BackendApplication
โ โ โ โโโ resources
โ โ โโโ test
โ โโโ build.gradle
โ โโโ Dockerfile
โ โโโ settings.gradle
โ โโโ gradlew
โ โโโ gradlew.bat
โโโโ service2
โโโโ service3
โโโโ service4