- ์ฑ ์ด๋ฆ: Soulmate, ์ธ์ ๋ ์ง ์ํตํ ์ ์๋ ๋ฉ์ ์ ์ ํ๋ฆฌ์ผ์ด์
- Https๊ฐ ์ ์ฉ๋ ํ๋ซํผ https://www.somat.site
- ์์ธํ ๋ฐฑ์๋ ๊ธฐ์ ํ์คํ ๋ฆฌ https://caramel1004.notion.site/caramel1004/SOULMATE-90ce4f5f3b314d809f400aeee832ca2a
- RESTful ์ํคํ
์ฒ ์ฑํ, Nodejs, MongoDB, Swagger๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฑ์๋ API ๊ฐ๋ฐ ๋ฐ ๊ด๋ฆฌ
- SSR๋ฐฉ์์ผ๋ก Nodejs์ View Templete Engine์ธ ejs ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ํ๋ฉด ๊ตฌ์ถ
- ๊ฐ ์นํ์ด์ง๋ง๋ค ํ์ํ ๋ฐ์ดํฐ๋ง ์กฐํํ๊ธฐ ์ํด mongoose ์ฟผ๋ฆฌ์ฐ์ฐ์๋ฅผ ์ ๊ทน ์ด์ฉํ์ฌ ํ์ ๋ฐ์ดํฐ๋ ์กฐํํ๊ณ ํ๋ก ํธ์ ๋ฐฑ์๋๊ฐ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ๊ด๋ฆฌ๋ก ์ธํ ์๋ต ์๊ฐ ๋จ์ถ
- ์ ์ ๊ฐ ์ํ ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ Client ์ฌ์ด๋ ๋ฉ๋ด์ ์ ์ง์ํค๊ธฐ์ํด ์ธ์
์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ธ์
์ ์ฅ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ๊ธฐ๋ฐ DB์ธ Redis๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ ์งํ๋๋ก ์๋น์ค
- ์ค์๊ฐ ์ฑํ
๊ธฐ๋ฅ๊ณผ ์ค์๊ฐ ์ํฌ์คํ์ด์ค ๊ฒ์๋ฌผ ์
๋ก๋ฉ์ ์ํด npm: socket.io์ on emit ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฑ์๋ ์๋ฒ์์ ํ๋ก ํธ๋ก ์ค์๊ฐ ์๋ต, ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ํ๋ฉด์ ์ฑํ
ํ๊ทธ ์์ฑ
- ํจ์จ์ ์ธ ๋ฐฑ์๋ api ๊ด๋ฆฌ์ ์น๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ดํฐ ๋ชจ๋ํฐ๋ง์ ์ํด npm: swagger-ui-express, swagger-jsdoc ์ธํ
ํ swagger ์ฌ์ฉ ํ์ฌ ๊ด๋ฆฌ
- ์๋ฒ shut down์ ํ๋ฐ๋๋ ์ธ์
์ ๋นํ๋ฐ์ฑ์ผ๋ก ๋ฐ๊พธ๊ธฐ์ํด ์ธ์
์ ์ฅ์๋ฅผ Redis๋ก ์ธํ
- ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ์ ํ์ผ ๊ด๋ฆฌ์ํ AWS EC2 S3 ์ธํ๋ผ ๊ตฌ์ถ
- ์ ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์
DB ๊ตฌ์กฐ ์ดํด์ ๊ด๋ฆฌ๊ฐ ํ์ํ์ฌ ERD ์ค๊ณ
- ์ธ์ฆ์ด ํ์ํ ๊ธฐ๋ฅ๋ค์ JWT ๊ฒ์ฆ๊ณผ์ ์ ๋ฏธ๋ค์จ์ด ํจ์๋ก ์ถ๊ฐ
- ์์ธ์ํฉ ๋ฐ์์ ์ด๋ค ์๋ฌ์ธ์ง ํ์
ํ๊ณ ์ฒ๋ฆฌํ๊ธฐ์ํด ์์๊ธฐ๋ฐ ์๋ฌํธ๋ค๋ฌ ๋ก์ง ์ถ๊ฐ