- ์ต๊ทผ ๊ณ ๋ฌผ๊ฐ์ ์นํ๊ฒฝ์ ๋ํ ๊ด์ฌ์ด ๋ง๋ฌผ๋ ค ์ค๊ณ ๊ฐ๊ตฌ ์์ฅ์ด ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์์ง๋ง, ์ด์ ๊ด๋ จ๋ ์๋น์ค๊ฐ ์์ง ๋์ ๋์ง ์๋ ์ค์ ์
๋๋ค.
- ๋ฐ๋ผ์ ์ด๋ฌํ ํ์์์ฅ์ ๊ณต๋ตํ๊ธฐ ์ํด ์ค๊ณ ๊ฐ๊ตฌ ๊ฑฐ๋ ํ๋ซํผ 'ํ๊พธ(HOMEGGU)'๋ฅผ ๊ธฐํํ๊ฒ ๋์์ต๋๋ค.
์ด๋ฆ ย ย ย ย ย ย ย ย ย ย ย ย ย ย |
์ญํ ย ย ย ย ย ย ย ย ย ย ย ย ย ย |
๊ฐ๋ฐ ๋ด์ฉ |
---|---|---|
์ด๊ท๋น | ํ์ฅ, BackEnd | - MSA ์ค๊ณ(Gateway, Discovery, FeignClient ๋ฑ) - pay ์๋น์ค(๋จธ๋ ์ถฉ์ ๋ฐ ์ก๊ธ, ์ฌ์ฉ๋ด์ญ ์กฐํ, ๋ฐ์ดํฐ ๋์์ฑ ์ ์ด ๋ฑ) |
๊นํ์ฑ | BackEnd | |
์ํด์ฐฌ | BackEnd | |
์ต์ค์ | BackEnd, Infra | |
๋ฐ์ ๋ฏผ | FrontEnd | |
์ฅ์ ์ง | FrontEnd |
FrontEnd | |
BackEnd | |
Database | |
Infra | |
Tools |
react : 18 / redux : 5.0.1 / next.js : 14.2.16 / tailwind CSS : 3.4.1 / shadcn-ui : 0.9.2 / three.js : 0.170.0 / stomp.js : 2.3.3
JDK17 / SpringBoot : 3.3.4 / JPA : 3.2.7 / Querydsl : 5.0.0 / JWT : 0.12.5 / RabbitMQ : 4.0.3 / FastAPI
Spring Cloud openfeign : 4.1.3 / Spring Cloud netflix-eureka-client : 4.1.3
Mysql : 9.1.0 / MongoDB : 8.0.3 / Redis : 7.4.1
Ubuntu : 20.4.6 / Docker : 27.3.1 / NginX : 1.27.2 / Jenkins : 2.484
- ๋ค์ํ ๋ ๋๋ง ๋ฐฉ์(SSR, SSG, CSR ๋ฑ)์ ํ์ฉํ๊ณ ๊ฒ์์์ง ์ต์ ํ(SEO)๋ฅผ ์ํด, ํ๋ก ํธ์๋ ์๋ฒ๋ก Next.js๋ฅผ ์ ํํ์ต๋๋ค.
- ์์คํ ์ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋๋ชจํ๊ธฐ ์ํด ์ํคํ ์ฒ๋ฅผ MSA๋ก ์ค๊ณํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ ์๋น์ค๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ/๋ฐฐํฌํ ์ ์์์ต๋๋ค.
- ๋ํ ์ฅ์ ๊ฒฉ๋ฆฌ ํจ๊ณผ๋ ๊ธฐ๋ํด๋ณผ ์ ์์ต๋๋ค. ์์ปจ๋ pay ์๋น์ค์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ user, goods ๋ฑ ๋ค๋ฅธ ์๋น์ค๋ ์ ์์ ์ผ๋ก ๋์๋๋๋ก ํ๊ณ ์ ํ์ต๋๋ค.
๋ฉ์ธ | ์ํ ์์ธ | ๊ตฌ๋งค |
---|---|---|
์ํ ๋ฑ๋ก | ์ด๋ฏธ์ง ๋ณํ (2D to 3D) | ๋ณํ ์๋ฃ |
---|---|---|
- ํ๋งค์๋ ์ค๊ณ ๊ฐ๊ตฌ ์ํ ๋ฑ๋ก์ ์ด๋ฏธ์ง๋ฅผ ์ฒจ๋ถํ ์ ์๊ณ , ์ด๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ 3D๋ก ๋ณํ๋ฉ๋๋ค.
- ์ฌ์ฉ์๋ ํ ์คํธ ์๋ฆผ์ ํตํด ๋ณํ ์งํ๋ฅ ์ ํ์ธํ ์ ์์ต๋๋ค (์ค๊ฐ ์ฌ์ง ์ข์ธก ํ๋จ). ์ด๋ฅผ ํตํด ๋ณํ ์ค ๋ค๋ฅธ ์์ ์ ํ ์ ์๋๋ก ํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ์์ต๋๋ค.
- ๋ณํ์ด ์๋ฃ๋๋ฉด 3D ๋ชจ๋ธ ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์๊ณ , ์ด๋ฅผ ๋ค์ ์ ๋ก๋ํ์ฌ 3D ๊ฐ๊ตฌ๋ฐฐ์น์ ํ์ฉํ ์ ์์ต๋๋ค.
๋ฒฝ/๋ฐฉ ์ํ | ๊ฐ๊ตฌ ์ํ |
---|---|
๋น ๋๋ฉด | ๋ฐฐ์น ๊ฒฐ๊ณผ (2D) | ๋ฐฐ์น ๊ฒฐ๊ณผ (3D) |
---|---|---|
- ์ฌ์ฉ์๋ ๋น ๋๋ฉด์ ๋ฒฝ์ด๋ ๋ฐฉ ์ํ์ ๋ฐฐ์นํด ๋ณธ์ธ ์ง๊ณผ ์ ์ฌํ ํ๊ฒฝ์ ๋ง๋ค ์ ์์ต๋๋ค.
- ์ฌ๊ธฐ์ ์์์ ๋ณํ๋ 3D ๊ฐ๊ตฌ ํ์ผ์ ๋ฐฐ์นํ์ฌ, ๊ตฌ๋งค ์ ๋ฏธ๋ฆฌ ๋ฐฐ์น ๊ฒฐ๊ณผ๋ฅผ ์๋ฎฌ๋ ์ด์ ํด๋ณผ ์ ์์ต๋๋ค.
ํ์๊ฐ์ ์ ์ค๋ฌธ์กฐ์ฌ | ์ํ ์ถ์ฒ |
---|---|
- ํ์๊ฐ์ ์ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ํตํด ์ฌ์ฉ์์ ์ธํ ๋ฆฌ์ด ์ทจํฅ ์ ๋ณด๋ฅผ ์์งํฉ๋๋ค(cold start). ์ด๋ฅผ ํตํด ์๋ก์ด ์ทจํฅ ๋ฐ๊ฒฌ์ด ์ด๋ ค์ด ์ปจํ ์ธ ๊ธฐ๋ฐ ํํฐ๋ง์ ํ๊ณ๋ฅผ ๋ณด์ํฉ๋๋ค.
- ์ํ ์กฐํ์ ๋์ ๋ ๋ฐ์ดํฐ(๊ตฌ๋งค, ์กฐํ, ์ข์์ ๋ฑ)์ ์ ์ค๋ฌธ์กฐ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ข ํฉํ์ฌ, ์ฌ์ฉ์ ๋ง์ถคํ์ผ๋ก ์ถ์ฒ์ํ์ ๋ณด์ฌ์ค๋๋ค.
์ฑํ ์์ (๊ตฌ๋งค์) | ์ฑํ ํ์ธ (ํ๋งค์) |
---|---|
- ๊ตฌ๋งค์๋ ์ํ ์์ธ ํ์ด์ง์์ ํ๋งค์์๊ฒ ์ฑํ ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
- ํ๋งค์๋ ๊ตฌ๋งค์๋ค์ ์ฑํ ์ ๋ชจ์์ ํ์ธํด๋ณผ ์ ์์ต๋๋ค.
์ด์ฉ๋ด์ญ ์กฐํ | ์์ ๊ฑฐ๋ ํ์ |
---|---|
- ์ฌ์ฉ์์ ๊ณ์ข๋ฅผ ์ด์ฉํด ํ๊พธ๋จธ๋๋ฅผ ์ถฉ์ ํ๊ณ , ์ด ๋จธ๋๋ฅผ ํ๋งค์์๊ฒ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ์ก๊ธ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ ๋์์ฑ ์ ์ด๋ฅผ ์ํด ๋น๊ด์ ๋ฝ์ ์ ์ฉํ์ต๋๋ค.
- ๋ํ ๊ตฌ๋งค์๊ฐ ์ํ์ ๋จผ์ ํ์ธํ ๋ค ๊ตฌ๋งค ํ์ ์ ํด์ผ๋ง ๋น๋ก์ ํ๋งค์์๊ฒ ์ ๊ธ๋๋๋ก ํ๋ ์์ ๊ฑฐ๋(์์คํฌ๋ก) ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
- MSA์ ์ฅ์ ์ ๊ทน๋ํํ๊ธฐ ์ํด ๊ฐ ์๋น์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถ๋ฆฌํ์ต๋๋ค.
- ๋ค๋ฅธ ์๋น์ค์ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ FeignClient์ ํ์ฉํ์ฌ ์กฐํํ์ต๋๋ค.
- ํ๋ก ํธ์๋์ ๋ฐฑ์๋์ ํจ์จ์ ์ธ ์์ฌ์ํต์ ์ํด, Notion์ผ๋ก ๊ฐ API์ ์ฃผ์์ ์์ฒญ/์๋ต ํ์์ ๊ด๋ฆฌํ์ต๋๋ค.
- API ์ฃผ์์ ์ฒซ ๋ถ๋ถ์ ์๋น์ค๋ช ์ ๋ช ์ํด, Spring Cloud Gateway๊ฐ ํด๋น ์๋น์ค๋ก ์์ฒญ์ ๋ผ์ฐํ ํ ์ ์๋๋ก ํ์ต๋๋ค.
- ํ์ฅ์ ์ฒ์ ๋งก์๋ฐ๋ค 5์ฃผ๋ผ๋ ์งง์ ๊ธฐ๊ฐ ๋ด ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์ฝ์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ์ ๋ชฉํ์๋ **"๊ธฐ์ ์ ์ฑ์ฅ"**์ ์ํด ํ์ ๋ชจ๋ ์ด์ฌํ ์ํด์ค ๋๋ถ์ ์๋ฏธ ์๋ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์์๋ค๊ณ ์๊ฐํฉ๋๋ค.
- MSA ์ค๊ณ ๊ณผ์ ์์๋ ์์์น ๋ชปํ ์๋ฌ๋ค์ด ๋ง์ด ๋ฐ์ํด ์ด๋ ค์์ด ์์์ง๋ง, ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ์ ๋น๊ตํ์ ๋ MSA์ ์ฅ์ ์ธ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ์ฒด๊ฐํ ์ ์์ด ๊ฐ์ง ๊ฒฝํ์ด์์ต๋๋ค.
- ํ์ ์๋ํด๋ณด๊ณ ์ถ์๋ ๋ฐ์ดํฐ ๋์์ฑ ์ ์ด๋ฅผ ์ค์ ํ๋ก์ ํธ์ ์ ์ฉํด๋ณผ ์ ์์ด ์ข์์ต๋๋ค. ์ถํ ํ์ต์ ํตํด Redis๋ฅผ ํ์ฉํ ๋ถ์ฐ ๋ฝ๋ ์ ์ฉํด๋ณด๊ณ ์ ํฉ๋๋ค.