ํ๋ก์ ํธ: Social Study Network (SSN: ์ด) *ํ๋ก ํธ์๋์ ์ฒซ ํ์ ํ๋ก์ ํธ
์ค๋ช : ํ์๋ค, ํ๊ต์น๊ตฌ๋ค๊ณผ ๊ณต๋ถ์๊ฐ์ ๊ณต์ ํ๋ฉฐ ์์ํ ์ ์๋ ์์ ๋คํธ์ํฌ ์ฌ์ดํธ์ ๋๋ค.
์ ์: 2022.04.08~2022.04.14
์์ฐ์์: https://youtu.be/ZAMqhx5jCNU
๊นํ๋ธ: https://github.com/ymkwon3/ssn (ํ๋ก ํธ์๋) / https://github.com/moonhjang/miniproject_back (๋ฐฑ์๋)
๋ ธ์ : https://www.notion.so/d556601ee2de4629a9a1947675f23dd6
์์ด์ดํ๋ ์
์ฌ์ฉ ๊ธฐ์
- Server: AWS EC2 (Ubuntu 18.04 LTS)
- Framework: Express (Node.js)
- Database: MongoDB (Mongoose)
- JWT (Json Web Token)
- Crypto-js
- CORS
- Front-end: React
ํต์ฌ ๊ธฐ๋ฅ
- ๋ก๊ทธ์ธ/ ํ์๊ฐ์
ํ์ด์ง
- ์์ด๋ ํจ์ฐ์๋ ์ ๋ ฅ ๊ฐ๋ฅ
- ๋ก๊ทธ์ธ ์, ํ ํฐ์ ๋ฌ (๋ชจ๋ ํ์ด์ง์์ ํด๋น ํ ํฐํ์ธ ๊ธฐ๋ฅ)
- ๋น์นธ ๋ฐ ์์ด๋ ํ์(4์์ด์, ๋์๋ฌธ์, ์ซ์, ํน์๋ฌธ์(!@#"-_)) ํ์ธ ๊ฐ๋ฅ
- ํ์๊ฐ์ ์ ์์ด๋/๋๋ค์ ์ค๋ณต๊ฒ์ฌ
- ๋น๋ฐ๋ฒํธ ์ฌํ์ธ ์ผ์น ํ์ธ ๊ฐ๋ฅ
- ๋ฉ์ธํ์ด์ง
- ํด๋น ์ ์ ์ ์น๊ตฌ๋ฆฌ์คํธ ์กฐํ
- ๊ณต๋ถ์๊ฐ ์์/์ ์ง ๋ฒํผ
- ์ด ๊ณต๋ถ์๊ฐ ์กฐํ๊ฐ๋ฅ
- ์น๊ตฌ ์ถ๊ฐ๊ฐ๋ฅ
- ์น๊ตฌ์ ๊ณต๋ถ์๊ฐ ์์ ํ์ธ๊ฐ๋ฅ
- ์น๊ตฌ์ ๊ณต๋ถ์๊ฐ ๋ฐ ์ ์ ํ์ธ ๊ฐ๋ฅ
- ๋ฐฉ๋ช
๋ก ํ์ด์ง
- ๋ฑ๋ก๋ ์น๊ตฌ ๋ฐฉ๋ช ๋ก์ ์ฝ๋ฉํธ ์กฐํ, ์์ฑ ๊ฐ๋ฅ
- ๋ฐฉ๋ช ๋ก ์ฃผ์ธ๊ณผ ๋ฐฉ๋ช ๋ก ์์ฑ์๋ง ์ญ์ ๊ฐ๋ฅ
- ๋ณธ์ธ ๋ฐฉ๋ช ๋ก ํ์ด์ง์์๋ ์ํ๋ฉ์ธ์ง ์์ ๊ฐ๋ฅ
Trouble Shooting
โถ Auth-Middleware์ ๋ํด ํ๋ก ํธ ์ ๋ฌด์ ๋ํ ์ดํด๋ถ์กฑํ๋ค.
→ ๊ฐ์ธํ๋ก์ ํธ ์งํ์, ๋ก๊ทธ์ธ ์คํ์ ๋ก๊ทธ์ธ์ธ์ฆ ํ์ธAPI๋ ํจ๊ป ํ์ธ๋์๋ค. ๊ทธ๋, ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ์ ์ ์ ๋ณด๋ฅผ ๋ฃ์ด๋์๋ค. ํ์ง๋ง ํ๋ก ํธ์์ ๋ก๊ทธ์ธ์ธ์ฆ ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์๊ธฐ ๋๋ฌธ์ ๊ตณ์ด ํ์์์ด ์ ์ธ๋ฅผ ํ๋ค. ์ ์ฅ๋ ํ ํฐ์ผ๋ก ๋ชจ๋ ํ์ด์ง์ ๋ก๊ทธ์ธ ์ธ์ฆํ์ธํ๋ ๋ฐฉ๋ฒ์ ๋์ผํ์ฌ ๋ฌธ์ ์์ด ์๋๋์๋ค.
โถ ๋ก์ปฌ์ ์๋ MongoDB๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ์ง๋ง, ๋ก์ปฌDB์ ๋ด์ฉ์ ํ์ธํ๋ ค๊ณ ํ๋ ๋ฐฐํฌ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค.
→ ๋ก์ปฌDB๋ฅผ ์ฌ์ฉํ์ง ์๊ณ MongoDBํด๋ผ์ฐ๋์ ์ง์ ์ฐ๊ฒฐํ์ฌ ์คํํ์๋ค.
โถ _id๋ฅผ commentid ๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด์, _id๋ฅผ ๋ฐฑ์๋์์ object์์ string์ผ๋ก ๊ฐ์ฒด type์ ๋ณ๊ฒฝํด์ผํ๋ ์ ์์ ์ด๋ ค์ ๋ค.
→ Comment ์คํค๋ง์์ _id๋ฅผ commentid๋ก ๋ง๋ค์ด string์ผ๋ก ๋ณ๊ฒฝํ์ฌ ์ ๋ฌํ์๋ค.
๊ฐ์ธํ๊ณ
์ฒซ ํ๋ก ํธ์๋์์ ํ๋ ฅํ๋ก์ ํธ์๋ค. ํ๋ก ํธ์ ๋ฌด์ ๋ํ ์ง์์ด ๋ถ์กฑํ๊ธฐ์ ํํ๋ฐฉ์๊ณผ ์ดํดํ๋ ๋ฐฉ์์ด ๊ต์ฅํ ๋ฌ๋๋ค. ํ๋ก์ ํธ ์ค๋ฐ๋ถํฐ๋ ์๋ก์ ์ ๋ฌด๋ฅผ ์ดํดํ๊ณ ๋๋ ์๊ฐ๋ณด๋ค ํ๋ก์ ํธ๊ฐ ๋ฌธ์ ์์ด ํ๋ ธ๋ค.
๊ฐ์ธ ํ๋ก์ ํธ์์๋ ๋ด ์์ ์ ์น์ฌ์ดํธ์์ ํ์ธํ๋ ๊ฒ์ด ํธํ๋๋ฐ, ํ๋ ฅํ ๋๋ ํ์ธํ ์ ์๋ ๋ทฐ๊ฐ ์์ด์ ๋ถํธํ๋ค. ์ฌ๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ทธ ์ญํ ์ ๋์ ํ์ง๋ง, ํ์๊ฐ์ ์ด๋ ๋ก๊ทธ์ธ ์ ์ ๋ฌ๋๋ ์ ๋ณด๋ฅผ ์ง์ ์์ฑํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์ ์ง๋ง ์ ์ ์ ํ ์ ์์๋ค. ํนํ, ๋ชจ๋ ํ์ด์ง๋ฅผ auth-middleware๋ก ์ฐ๊ฒฐ ํ์๋ ํ ํฐ์ด ์๊ธฐ์ ์ฌ๋ ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์์๋ค. (์ดํ ์์๋ณด๋, ํค๋์ ํ ํฐ์ ๋ฃ์ด ํ์ธํด๋ณผ์ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์๋ค.)
ํ๋ ฅํ๋ ํ๋ก ํธ ๋ถ์ด ๊ต์ฅํ ์ํ์๋ ๋ถ์ด๋ผ, ๋ฐด์๋๋ก์ ๊ต์ฅํ ๋์๋ ๋ง์ด ๋ฐ์๊ณ ์์ํ๊ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ ์ ์์๋ค. ํ๋ก์ ํธ ์งํ์, ์ผ๋ คํ๋ CORS ์ด์๋ auth-middleware(์ธ์ฆ๋ฏธ๋ค์จ์ด)์ ๋ํ ์ด์๋ ๊ฑฐ์ ์์๋ค. ๋ฐฐํฌ ์ด๋ฐ, ์ธ์ฆ ๋ฏธ๋ค์จ์ด์ ๋ํ ์ฝ๊ฐ์ ์ด์๊ฐ ์์์ผ๋ ์ฝ์์ฐ์ผ๋ฉด์ ์ ๋ฌํ๊ณ ์ ๋ฌ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๋ ํฐ ์ด์์์ด ํด๊ฒฐ๋์๋ค.
๊ต์ฅํ ๋ง์กฑ์ค๋ฌ์ ๋ ์ ์ ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ด ๋ฌธ์ ์์ด ์ ์๋ํ๊ณ , ๋ชจ๋ ํ์๋ค ๋ํ ๋ง์กฑ์ค๋ฝ๊ฒ ๋๋ธ ํ๋ก์ ํธ๋ผ์ ๋ ์ข์๋ค. ์ฐ๋ฆฌ ํ์ ๋ชจ๋ ํฅํด๋ผ!
'๊ฐ๋ฐ ์ด์ผ๊ธฐ > Projects' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํญํด99] ์ค์ ํ๋ก์ ํธ: N๋นต (0) | 2022.06.05 |
---|---|
[ํญํด99] ํด๋ก ํ๋ก์ ํธ: Slack (0) | 2022.05.01 |
[ํญํด99] ๊ฐ์ธ ํ๋ก์ ํธ2: ๋ก๊ทธ์ธ/ํ์๊ฐ์ ํ์ด์ง (0) | 2022.04.06 |
[ํญํด99] ๊ฐ์ธ ํ๋ก์ ํธ1 : ๊ฒ์๊ธ ํ์ด์ง (0) | 2022.03.24 |
[ํญํด99] ๋ฏธ๋ ํ๋ก์ ํธ: ์ค๋์ ๊ณ์ , ์ค๋์ ๋ ธ๋ (0) | 2022.03.13 |