git
Docker
MySql
Node.js
๊ธฐ์ ๋ธ๋ก๊ทธ https://bit.ly/3sfOlzq
DDD๋ Domain Driven Design ์ผ๋ก ์ฝ๋์ ๊ตฌ์กฐ์ ์ธ์ด๊ฐ ๋น์ฆ๋์ค ๋๋ฉ์ธ๊ณผ ์ผ์นํด์ผ ํ๋ค๋ ๊ฐ๋
์ด๋ค.
๋๋ฉ์ธ์ ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ์๋ฏธํ๋๋ฐ ์ด๊ฒ์ ๋ง์ผํ
, ๊ตฌ๋งค, ์ฐ๊ตฌ ๋ฑ ์ ์ฌํ ์
๋ฌด์ ์งํฉ์ ๋งํ๋ค.
DDD๋ Strategic Design๊ณผ Tactical Design์ผ๋ก ๋๋ ์ง๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ธํฐํ๋ฆฌํฐ์ธ์ด์ด๊ธฐ์ ๋ฐํ์์์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๋ค. ๋ฐ๋ฉด ํ์
์คํฌ๋ฆฝํธ๋ ์ปดํ์ผ์ธ์ด์ฌ์ ์ปดํ์ผ๋ฌ๋ฅผ ํตํด ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ๋ณํ๋๋ค.
์ฝ๋ ์์ฑ๋จ๊ณ์์ ํ์
์ ์ฒดํฌํด ์ค๋ฅ๋ฅผ ํ์ธํ ์ ์๊ณ ๋ฏธ๋ฆฌ ํ์
์ ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ์ ์คํ์๋๊ฐ ๋งค์ฐ๋น ๋ฅด๋ค.
ํ์ง๋ง ์ฝ๋ ์์ฑ ์ ๋งค๋ฒ ํ์
์ ๊ฒฐ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฒ๊ฑฐ๋กญ๊ณ ์ปดํ์ผ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค๋ ๋จ์ ์ด ์๋ค.
ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ 100% ํธํ๋ผ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ณณ์ด๋ผ๋ฉด ํ์ ์คํฌ๋ฆฝํธ๋ ์ธ ์ ์๋ค.
NodeJS๋ ์ฌ๋ฌ๊ฐ์ ํ๋ ์์ํฌ๊ฐ ์๋๋ฐ ๊ทธ ์ค ๊ฐ์ฅ ๋ํ์ ์ธ ๊ฒ์ด Express์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ํ๋๋ NestJS์ด๋ค. NestJS๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ๊ทน ๋์ ํ์ฌ ์ง์ํ๊ณ ์๊ณ ์ด ๋๋ถ์ ๊ฐ๋ฐ ์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ค์ ์ฌ์ ์ ๋ฐฉ์งํ ์ ์๋ค.
Express๋ ๊ฐ๋ฐ ์ ๊ตฌ์กฐ์ ๋ํ ์์ ๋๊ฐ ๋์ ๊ฐ๋ฐ์๊ฐ ํด, ๊ธฐ์ , ๋ฏธ๋ค์จ์ด ๋ฑ์ ์์ ๋กญ๊ฒ ์ ํํ ์ ์์ง๋ง ์์ ๋ก์ ๋๋ฌธ์ ํ๋ง๋ค ๊ตฌ์กฐ๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋๋ค. NestJS๋ ํด๋์ค๋ค์ด ๊ฐ๊ฐ์ ์ญํ ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์ ํต์ผ์ฑ์ ๊ฐ์ง๊ฒ ๋๋ค.
ํ์ ์คํฌ๋ฆฝํธ์ Nest์ ๊ฒฝ์ฐ JS๊ฐ ๊ธฐ๋ฐ์ธ ๊ฒ๋ค์ด๋ฏ๋ก JS ๊ณต๋ถ๋ฅผ ํํํ ํด์ผ๊ฒ ๋ค. ์ด๋ค ๊ธฐ์ ์ ์ฌ์ฉํ๋ ํ์ฌ์ ๋ค์ด๊ฐ ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ NestJS๋ฅผ ์ฌ์ฉํ๋, ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฐ๋, ๋ฆฌ์กํธ๋ฅผ ์ฐ๋ ์๋ก์ด ๊ธฐ์ ์ ๊ทธ ํ์ฌ์ ์ ์ฌํ ํ์์ผ ๋ฌด์์ ๋ฐฐ์์ผ ํ ์ง ์ ์ ์์ง๋ง, ๊ทธ ํ์ต์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด JS๋ฅผ ํํํ ํด์ ์ต๋์ ๋๋นํ๋ ๊ฒ์ ์ง๊ธ ํ ์ ์๋ ์ต๊ณ ์ ์ค๋น๋ผ๊ณ ์๊ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ํ ์คํธ์ฝ๋๋ฅผ ์ํ Jest๋ ๋ฐฐํฌ ๋ฐ ์ด์์ ์ํ AWS๋ฅผ ๊ฐ๋จํ JS๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ํตํด์ ์ค์ต์ ํด๋ณด๊ณ Restful API ๊ตฌ์ถ์ Myrehabํ๋ก์ ํธ๋ฅผ ๋ฆฌํํ ๋ง ํ๋ฉด์ ๊ฒฝํ์ ์๋๋ก ํ์