์ฑ์๋๋์ ๋ฐฉ๋ฌธํ ๋ ์ด์๋ค์ ์ํ ๋ฐฅ๋ฉ์ดํธ ๋งค์นญ ์๋น์ค
- 1๏ธ. ์๋น์ค ๊ฐ์
- 2๏ธ. ์๋น์ค ์๊ฐ
- 3๏ธ. ์๋น์ค ๊ตฌ์ฑ
- 4๏ธ. ํ๋ก์ ํธ ์ญํ ๋ถ๋ด
- 5๏ธ. ์คํ ๋ฐฉ๋ฒ
- 6๏ธ. Version
- ์ฑ์๋๋์ ๋ฐฉ๋ฌธํ ๋ ์ด์๋ค์ ์ํ ํผ๋ฐฅ ํ์ถ ํ๋ก์ ํธ
- BoBHuB(๋ฐฅํ๋ธ)
- ์๋ก์ด ๋ง์ง ํ๋ฐฉ
- ํ ํธ๋/๊ธฐ์ ๋ ์ด์ ๊ฐ ์น๋ชฉ ๋๋ชจ(๋คํธ์ํน)
- ์ค์๊ฐ ์ฌ์ฉ์ ํธ๋ํฝ ๋ฐ์์์ ์ฒ๋ฆฌํ๊ธฐ
- ์ถ๊ฐ ์์ฑ ์์
- ์ฑ์๋๋์์ ์ง์ค์ด ์ ๋ผ์ ์๋๋ฐ,
๋ฐฅ์ ๋จน์ด์ผ๊ฒ ๊ณ
ํผ๋ฐฅ์ ํ๊ธฐ ์ซ์
์๋ฆฌ์ค ๋ ์ด์
http://kdt-sw3-team17.elicecoding.com/
โ ์๋ฒ๊ฐ ๋ด๋ ค๊ฐ ์ํ์ ๋๋ค.(AWS ์ฌ๋ฐฐํฌ ์์ )
Role | ID | PW |
---|---|---|
Admin | admin@bobhub.com | 11qq |
User | elicer@bobhub.com | 11qq |
โ ์ค์ ์๋น์ค๋ ์ด๋ฉ์ผ ์ธ์ฆ์ ์ํด ์ค์ ์ด๋ฉ์ผ๋ก ๊ฐ์ ํ์ ์ผ ํฉ๋๋ค.
- ํ์๊ฐ์ ํ์ด์ง: ์ด๋ฉ์ผ ์ธ์ฆ ๊ธฐ๋ฅ
- ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
- ์๋น ๋ชฉ๋ก ์นดํ ๊ณ ๋ฆฌ๋ณ ์กฐํ ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ
- ์ ํํ ์๋น ๋ฐฉ์์ ์ผ๋๋ค ์ค์๊ฐ ์ฑํ ๊ธฐ๋ฅ
- ์๋น ์์ธํ์ด์ง: ๋๊ธ(ํ๊ธฐ) CRUD ๊ธฐ๋ฅ
- ๋ง์ดํ์ด์ง: ์ฌ์ฉ์ ์ ๋ณด ์์ ๊ธฐ๋ฅ
- ๊ด๋ฆฌ์ํ์ด์ง: ์๋น CRUD, ์ฌ์ฉ์ ๊ถํ ๋ณ๊ฒฝ ๊ธฐ๋ฅ
- ์๋น ์์ธํ์ด์ง์์ ๋ชจ์ง์ธ์์ ์ต์ ์ ์ ํ ํ ๋ชจ์์์ฑ์ ๋๋ฅด๋ฉด 2~4๋ช ์ ์ธ์ ๋ชจ์ง ๊ฐ๋ฅ
- ํ์ฑํ๋ ๋ชจ์์ ๋ฉ์ธํ์ด์ง ์ฌ๋ผ์ด๋์ ๋ฑ์ฅ, ์ฐธ์ฌ๋ฅผ ์ํ๋ ํ์ธ์ด ์ข์์(ํํธ ์์ด์ฝ)๋ฅผ ๋๋ฅผ ์ ์์
- ์ด๊ธฐ์ ์ค์ ํ ๋ชจ์ง์ธ์์ด ๋ค ์ฐจ๋ฉด ํด๋น ์๋น์ ์ ํํ ์ฌ๋๋ค์ด ์ฑํ ๋ฐฉ์ ์ ์ํ์ฌ ์ค์๊ฐ ์ฑํ (๋ค๋๋ค) ๊ฐ๋ฅ
- ์ฑ์๋๋ ๊ทผ์ฒ ๋ง์ง์ ํ๋์ ํ์ธํ ์ ์์ผ๋ฏ๋ก ์ค์ ๋ก ์ฑ์๋๋์ ๋ฐฉ๋ฌธํ๋ ๋ ์ด์๋ค์ ์ ๊ทน์ ์ธ ์ด์ฉ ์์
- ์ฑ์๋๋ ๋ฐฉ๋ฌธ ์ ํจ๊ป ์์ฌ๋ฅผ ํ ์ฌ๋์ด ์์ ๋ ์๋ก์ด ๋ ์ด์์์ ๋ง๋จ์ ๊ธฐํ ์ ๊ณต
- ์๋น์ ๊ณจ๋์ด๋ ๋ฉ๋ด ์ ์ ์ด ๊ณ ๋ฏผ ๋ ๋ ๋ฉ๋ดํ ์ด๋ฏธ์ง๋ฅผ ํตํด ๋ณด๋ค ๋น ๋ฅธ ๋ฉ๋ด ์ ํ ๊ฐ๋ฅ
- ํ์ ๋ช ์๋ฅผ ํตํ ์์ฐ์ฑ ํฅ์ ๋ชฉ์ ์ผ๋ก TypeScript ์ฌ์ฉ
- ์ ์ญ์ํ๊ด๋ฆฌ: Redux๋ฅผ ํตํด ์ ์ ๋ก๊ทธ์ธ ์ ๋ณด์ ์ฑํ ๋ก๊ทธ ๊ด๋ฆฌ
- ๋ณต์กํ SQL ์ฟผ๋ฆฌ๋ฌธ ์์ฑ ๋ฐ ์ฐ์ต์ ์ํด ORM ๋ฏธ์ฌ์ฉ
- ์ผ๋๋ค ์ฑํ ์๋น์ค ๊ตฌํ: Socket.io๋ฅผ ํ์ฉํ ์ค์๊ฐ ํต์ ๊ตฌํ
https://giant-painter-76a.notion.site/api-8a9d3abf185e40b78a0871db3ee334f9
์ด๋ฆ | ๋ด๋น ์ ๋ฌด |
---|---|
![]() |
ํ์ฅ ํ๋ก ํธ์๋ |
![]() |
ํ๋ก ํธ์๋ |
![]() |
ํ๋ก ํธ์๋ |
![]() |
ํ๋ก ํธ์๋ |
![]() |
ํ๋ก ํธ์๋ |
![]() |
๋ฐฑ์๋ |
![]() |
๋ฐฑ์๋ |
- ์ด์๋น:
ํ์ฅ
ํ๋ก ํธ์๋
- ๊ธฐํ ๋จ๊ณ: ํ์์งํ, ์์ด๋์ด ๋์ถ, ์ญํ ๋ถ๋ฐฐ
- ๊ฐ๋ฐ ๋จ๊ณ: ์์ธํ์ด์ง, ์ฑํ ์ปดํฌ๋ํธ ๊ฐ๋ฐ
- ์์ ๋จ๊ณ: ๋ฐํ์ค๋น, ๋ฐํ
- ๊น๋์ค:
๋ฐฑ์๋
- ๊ธฐํ ๋จ๊ณ: Restful API ์ฃผ์ ์ค์
- ๊ฐ๋ฐ ๋จ๊ณ: CRUD ๋ผ์ฐํ , ์๋น์ค ๋ก์ง, ์๋ฌ ์ ๋ฆฌ
- ์์ ๋จ๊ณ: ์๋ฌ ๊ด๋ จ ์์ ๋ฐ ๋๋ฒ๊น
- ๊น์ ์ :
ํ๋ก ํธ์๋
- ๊ธฐํ ๋จ๊ณ: ๋ฉ์ธ ํ์ด์ง ์์ด์ด ํ๋ ์ ์์ฑ
- ๊ฐ๋ฐ ๋จ๊ณ: ๋ฉ์ธ ํ์ด์ง, ์ ์ ๊ฐ์ด๋
- ์์ ๋จ๊ณ: ํผ๋๋ฐฑ ๋ฐ์ํ์ฌ ์ฝ๋ ์์
- ๊น์ฐฌ์:
ํ๋ก ํธ์๋
- ๊ธฐํ ๋จ๊ณ: ๊ด๋ฆฌ์ ํ์ด์ง ์์ด์ด ํ๋ ์ ์์ฑ
- ๊ฐ๋ฐ ๋จ๊ณ: ๊ด๋ฆฌ์ ํ์ด์ง, ํ์ด์ง ๋ณ ์ค์๊ฐ ์ก์ , ์ ์ญ ์ํ ๊ด๋ฆฌ
- ์์ ๋จ๊ณ: ํผ๋๋ฐฑ ๋ฐ์ํ์ฌ ์ฝ๋ ์์
- ์์์ค:
๋ฐฑ์๋
- ๊ธฐํ ๋จ๊ณ: DB ์ค๊ณ, ERD ๊ตฌ์กฐํ, MySQL ๋ฐ EC2, S3 ๊ฐ๋ฐ ํ๊ฒฝ ์ค์
- ๊ฐ๋ฐ ๋จ๊ณ: CRUD ๋ชจ๋ธ SQL์ฟผ๋ฆฌ ๋ฐ ํธ๋ฆฌ๊ฑฐ, ์บ์ฑ, Multer, ๋ฐฐํฌ
- ์์ ๋จ๊ณ: ํผ๋๋ฐฑ ๋ฐ์ํด์ ๋ฐฑ์๋ ์ค๊ณ ์์
- ์ค๋์ฃผ:
ํ๋ก ํธ์๋
- ๊ธฐํ ๋จ๊ณ: ๋ก๊ทธ์ธยทํ์๊ฐ์ ํ์ด์ง ์์ด์ด ํ๋ ์ ์์ฑ, DiscordยทNotionยทJira ํ ์คํ์ด์ค ์์ฑ ๋ฐ ์ ๋ฆฌ
- ๊ฐ๋ฐ ๋จ๊ณ: ๋ก๊ทธ์ธยทํ์๊ฐ์ ํ์ด์ง ๊ตฌํ, ๋ก๊ณ ยทํค์ค๋งค๋ ๊ตฌ์
- ์์ ๋จ๊ณ: API ์์ฒญ ์๋ฌ ์์ , ํผ๋๋ฐฑ ๋ฐ์ํ์ฌ ์ฝ๋ ์์ , ๋์์ธ ๊ฐ์
- ์ฅ์์:
ํ๋ก ํธ์๋
- ๊ธฐํ ๋จ๊ณ: ์๋น๋ชฉ๋ก ํ์ด์ง ์์ด์ด ํ๋ ์ ์์ฑ
- ๊ฐ๋ฐ ๋จ๊ณ: ์๋น๋ชฉ๋กยท์ฌ์ฉ์ ํ์ด์ง, Theme ์ด์ฉํ ์ ์ฒด ํ ๋ง color ์ ์, ๊ณตํต API ์์ฑ
- ์์ ๋จ๊ณ: ํผ๋๋ฐฑ ๋ฐ์ํ์ฌ ์ฝ๋ ์์
git clone ${repo address}
- SQL DDL ์ฝ๋ ์คํ (bobhub/BE/src/seeder)
- ๋ฐฑ์๋์ ํ๋ก ํธ์๋ ํด๋์์ ํ์ํ ํจํค์ง ์ค์น
yarn (ํน์ npm install)
- ์คํ
yarn run (ํน์ npm start )
BE
๋๋ ํ ๋ฆฌ์์ .env ์์ฑ
NODE_ENV=<local ํน์ ec2>
PORT= <ํฌํธ๋ฒํธ>
#setupProxy.js์์ target๊ฐ SERVER PORT๋ก ์ค์ ์๋ง
COOKIE_SECRET= <๋๋ค ๋ฌธ์์ด>
LOCAL_MYSQL_PASSWORD = <local ๋น๋ฐ๋ฒํธ>
EC2_MYSQL_PASSWORD = <ec2 ๋น๋ฐ๋ฒํธ>
EC2_MYSQL_USER = <ec2 ๊ณ์ >
EC2_MYSQL_HOST = <ec2 storage URL>
S3_BUCKET_NAME = <๊ณ์ >
S3_ACCESS_KEY_ID = <ID>
S3_ACCESS_KEY_PASSWORD = <๋น๋ฐ๋ฒํธ>
#NodeMailer
MAIL_ID = <google developer ์์ด๋>
MAIL_PASSWORD = <google developer ๋น๋ฐ๋ฒํธ>
- 1.0.0