์ฝ๊พน ๋ฃจํธ๋ ํ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ทผ์ฒ ์ฝ๊ตญ์ ์ ๋ณด์ ์์ ์ฌ๋ถ๋ฅผ ์๋ ค์ค๋๋ค.
๐ ๊ด๋ จ ๋งํฌ
ํฌ์ง์ | ์ด๋ฆ | ์ด๋ฉ์ผ | ๊นํ ์ฃผ์ |
---|---|---|---|
Frontend, VL | ๊ฐ์นํ | [email protected] | https://github.com/seunghoonKang |
Backend | ๋ฐ๋ํ | [email protected] | https://github.com/qkreo |
Frontend | ๋ฐํ์ | [email protected] | https://github.com/parkharoi |
Backend, L | ๋ฐฑ์ง์ | [email protected] | https://github.com/chamchimayo |
Backend | ์ฅ๋ฏผ์ | [email protected] | https://github.com/minyoung117 |
- 10์ 21์ผ(ํ๋ก์ ํธ ์์์ผ)
- ๊ฐ๋ฐ ๊ธฐํ
- S,A ์ ์ถ(API ๋ช ์ธ์, ์์ด์ด ํ๋ ์, DB Schema ์์ฑ)
- Github Repository ์์ฑ
- 10์ 22์ผ
- ํ๋ก ํธ(๋ก์ปฌ)-๋ฐฑ ์ฐ๊ฒฐ - ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํ ์คํธ ์๋ฃ
- [FE] : ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํํ ๊ตฌํ, json ์๋ฒ ์ฐ๊ฒฐ
- [BE] : users(ํ์๊ฐ์ , ๋ก๊ทธ์ธ), reviews ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ , ๊ณต๊ณต API ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ ์๋ฃ
- 10์ 23์ผ(์ผ์์ผ)
- ์ฆ๊ฑฐ์ด ํด์ !
- 10์ 24์ผ
- ํ๋ก ํธ(์๋ฒ)-๋ฐฑ ์ฐ๊ฒฐ ํ ์คํธ
- [FE] : ํ์๊ฐ์ , ๋ก๊ทธ์ธ ์์ฑ
- [BE] : users(ํ์ ์ ๋ณด ์กฐํ, ์์ , ์ญ์ (ํํด)) ๊ธฐ๋ฅ ๊ตฌํ, ssl ์ธ์ฆ ๋ฐ๊ธ ์๋ฃ
- 10์ 25์ผ
- [FE] : ์ฝ๊ตญ ์ ์ฒด ๋ชฉ๋ก ํ์ด์ง ์์ฑ
- [BE] : users(๋น๋ฐ๋ฒํธ ์ํธํ), likes(์ฝ๊ตญ ์ข์์ ๊ด๋ จ) ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ
- 10์ 26์ผ
- [FE] : ์ฝ๊ตญ ์์ธ ํ์ด์ง ์์ฑ
- [BE] : reviews(๋ฆฌ๋ทฐ ์กฐํ) ๊ธฐ๋ฅ ์ถ๊ฐ
- 10์ 27์ผ(ํ๋ก์ ํธ ๋ง๊ฐ์ผ)
- [FE] : ํ์ CRUD ์์ฑ
- [BE] : users(ํ์ ์ ๋ณด ์์ , ์ญ์ (ํํด)) ์ค๋ฅ ์์
- README ์์ฑ, ์์ ์ดฌ์
- ๋ฐํ
- FE:
- ์๋ฒ: javascript, express
- API ๋ช ์ธ: swagger
- DB: mysql, sequelize
- ๋ฐฐํฌ: AWS EC2
(1) ํ์ ๊ฐ์
- ์์ด๋, ๋น๋ฐ๋ฒํธ๊ฐ ์ ํด์ง ์กฐ๊ฑด์ ๋ง์ง ์๋ ๊ฒฝ์ฐ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ response์ ํฌํจ์ํจ๋ค.(Joi ์ฌ์ฉ)
- ๋น๋ฐ๋ฒํธ๋ ์ํธํ ๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ผ์ผ ํ๋ค.(bcrypt ์ฌ์ฉ)
- ํ์์ ๋์ผํ ์์ด๋๊ฐ ์์ ์ "์ด๋ฏธ ์กด์ฌํ๋ ์์ด๋์ ๋๋ค."๋ผ๋ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ response์ ํฌํจ์ํจ๋ค.
(2) ๋ก๊ทธ์ธ
- ๋ฐ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋น๋ฐ๋ฒํธ์ ๋น๊ตํ๋ค.
- ๋ก๊ทธ์ธ์ jwt(json web token) ๋ฐ๊ธํด์ค๋ค.
(3) ๋ก๊ทธ์ธ ๊ฒ์ฌ
- ๋ก๊ทธ์ธ์ด ํ์ํ API๋ฅผ ํธ์ถํ ๊ฒฝ์ฐ ๋ก๊ทธ์ธ ํ ํฐ์ ์ ๋ฌํ ๊ฒฝ์ฐ๋ง ์ ์ response๋ฅผ ์ ๋ฌ๋ฐ์ ์ ์๋๋ก ํ๋ค.
- ๋ก๊ทธ์ธ ํ ํฐ์ ์ ๋ฌํ์ง ์์ ์ฑ๋ก ๋ก๊ทธ์ธ API๋ฅผ ํธ์ถํ ๊ฒฝ์ฐ "๋ก๊ทธ์ธ์ด ํ์ํฉ๋๋ค."๋ผ๋ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ response์ ํฌํจ์ํจ๋ค.
- ๋ก๊ทธ์ธ ํ ํฐ์ ์ ๋ฌํ ์ฑ๋ก ๋ก๊ทธ์ธ API ๋๋ ํ์๊ฐ์ API๋ฅผ ํธ์ถํ ๊ฒฝ์ฐ "์ด๋ฏธ ๋ก๊ทธ์ธ์ด ๋์ด์์ต๋๋ค"๋ผ๋ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ response์ ํฌํจ์ํจ๋ค.
(4) ํ์ ์ ๋ณด ์กฐํ
- ๋ก๊ทธ์ธํ ํ์์ ์์ ์ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์๋ค.
- ์์ ํ๊ธฐ ๋ฒํผ์ ๋๋ฌ ์์ ์ ๋๋ค์๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
- ํํดํ๊ธฐ ๋ฒํผ์ ๋๋ฌ ํ์ ํํด๋ฅผ ํ ์ ์๋ค.
(4) ๋ฉ์ธ(์ฝ๊ตญ ๋ชฉ๋ก)
- ์ฌ์ฉ์ ์์น ํ์ธ ๋์๋ฅผ ๋ฐ๋๋ค.
- ์ฌ์ฉ์ ์์น ํ์ธ ๋์๋ฅผ ๋ฐ๊ธฐ ์ ์๋ ๊ณต๊ณต API์์ ์ ํํ ์์์ ์ฝ๊ตญ ๋ชฉ๋ก๋ค์ ๋ณด์ฌ์ค๋ค.
- ์ฌ์ฉ์ ์์น ํ์ธ ๋์๋ฅผ ๋ฐ์ ํ์๋ ์ฌ์ฉ์ ์์น ๊ทผ์ฒ์ ์ฝ๊ตญ ๋ชฉ๋ก๋ค์ ๋ณด์ฌ์ค๋ค.
- ์ฝ๊ตญ ์ด๋ฆ์ ํด๋ฆญํ๋ฉด ํด๋น ์ฝ๊ตญ์ ์์ธํ์ด์ง๋ก ์ด๋ํ๋ค.
(5) ์ฝ๊ตญ ์์ธ ํ์ด์ง
- ํด๋น ์ฝ๊ตญ์ ์์น๋ฅผ ๋ค์ด๋ฒ ๋งต API๋ก ๋ณด์ฌ์ค๋ค.
- ํด๋น ์ฝ๊ตญ์ ์ ๋ณด์ ์ค๋ ์์ ์๊ฐ์ ๋ณด์ฌ์ค๋ค.
- ์ ์ฒด ์๊ฐ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ๋ฉด ๋ชจ๋ ์์ผ์ ์์ ์๊ฐ์ ๋ณด์ฌ์ค๋ค.
(6) ์ฝ๊ตญ๋ฆฌ๋ทฐ
- ์ฌ์ฉ์๋ ์ฝ๊ตญ ์์ธํ์ด์ง์์ ํด๋น ์ฝ๊ตญ์ ๋ฆฌ๋ทฐ๋ฅผ ๋ฌ ์ ์๋ค.
- ๋ฆฌ๋ทฐ๋ ๋ก๊ทธ์ธํ ์ ์ ๋ง ๋ฌ ์ ์๋ค.
- ๋ฆฌ๋ทฐ ์์ , ์ญ์ ๋ ํด๋น ๋ฆฌ๋ทฐ์ ์์ฑ์๋ง ํ ์ ์๋ค.
(7) ์ฝ๊ตญ ์ข์์
- ์ฌ์ฉ์๋ ์ข์์์ ์ข์์ ์ทจ์๋ฅผ ํ ์ ์๋ค.
- APIํธ์ถ์ ์ฝ๊ตญ(Pharmacy) ํ ์ด๋ธ์ "์ฝ๊ตญ ์ข์์ ์(likes)"์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ํจ๋ค. (์ข์์ - 1์ฆ๊ฐ, ์ข์์ ์ทจ์ - 1๊ฐ์)
- ์ฌ์ฉ์๋ ์์ ์ด ์ข์์ํ ์ฝ๊ตญ๋ค์ ์ต๊ทผ ์ข์์๋ฅผ ํ ์์ผ๋ก ๋ชจ์๋ณผ ์ ์๋ค.