2023๋ 2ํ๊ธฐ โ์ตํฉ์บก์คํค๋์์ธโ ์์ ์์
์ค๋งํธ ๊ฒฝ๋ก๋น ๊ฐ๋ ์ ํ์ ์์ฒฉ ์น ์๋น์ค '๊ณ , ์คํฑ!'์ ์ ์ํ๋ ์บก์ฌ์ด์ ํ์ ๋๋ค! โค๏ธโ๐ฅ
์ค๋งํธ ๊ฒฝ๋ก๋น ๊ฐ๋ ์ ํ์ ์์ฒฉ ์น ์๋น์ค '๊ณ , ์คํฑ!'
๊ณ ํ์ ์ํ ๋ ธ์ธ์ ๋์์ผ๋ก ๋์งํธ ๊ฒฝ๋ก๋น ๊ธฐ๋ฅ์ ์ํํ๋ ํ์ ์์ฒฉ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ์ฌ ์๋จ ๋ฐ ๊ฑด๊ฐ ๊ธฐ๋ก์ ๊ด๋ฆฌํ๊ณ ์ ํฉ๋๋ค.
๊ธ์ฆํ ๊ณ ๋ น ์ธ๊ตฌ์ ๋ค์ํ ์์์ ๋ฐ๋ผ ๊ฒฝ๋ก๋น ์ญ์ ๋ณํํ๊ณ ์์ต๋๋ค.
๊ธฐ์กด ๋ชจ๋ฐ์ผ ์๋น์ค๋ฅผ ๋ถ์ํ ๊ฒฐ๊ณผ, ๊ฒฝ๋ก๋น์ ๋ ๋ก ๋์ด๊ฐ๊ณ ๋ง ์์ง๋ง ๊ฒฝ๋ก๋น์ ์ํ ์ปค๋ฎค๋ํฐ ์๋น์ค๋ ๋ถ์ฌํ๊ณ , ํ์ ์์น ์๋ ์ฐ๋ ๊ธฐ๋ฅ ๋ฐ ๋ ธ๋ ์ธต ์นํ์ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋น์ค ๋ํ ๋ถ์ฌํ์ต๋๋ค. ๊ทธ๋์ ๋ ธ์ธ์นํ์ ์ธ UI๋ฅผ ๊ฐ์ง ํ์์ ๋น๋กฏํ ๋ชธ๋ฌด๊ฒ, ๊ฑด๊ฐ, ์ด๋ ๊ด๋ฆฌ ์๋น์ค๋ฅผ ๋ง๋ค์์ต๋๋ค.
์ง๋ณ๊ด๋ฆฌ๋ณธ๋ถ์ ๋ฐ๋ฅด๋ฉด, ํ์ ์ฆ๊ฐ์ ๊ฐ์ฅ ํฐ ์์ธ์ผ๋ก ์ด๋ ๋ถ์กฑ ๋ฐ ๋ถ์ ์ ํ ์์ฌ ์ต๊ด์ด ์๊ผฝํ์ต๋๋ค.
์ด๋ฅผ ํตํด ํ์ ๊ด๋ฆฌ์ ์์ด์ ์์ฌ ์ต๊ด๊ณผ ์ด๋ ๊ด๋ฆฌ๋ ์ค์ํจ์ ์ ์ ์์ต๋๋ค.
ํ์ ๊ด๋ฆฌ ์๋น์ค๋ ๋ง์ง๋ง ๋ ธ์ธ๋ค์ด ๋ณด๊ธฐ์ ๋ค์ UI๊ฐ ๋ถํธํ ์ ์ด ์์ต๋๋ค.
๋ํ, ๊ฒฝ๋ก๋น์ ์ฆ๊ฐํ๊ณ ์์ง๋ง ๊ฒฝ๋ก๋น ๋ด์์ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ์ ์ํํ๋ ์๋น์ค๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค.
ํ๋ก ํธ์๋ ์๋ฒ์ ๋ฐฑ์๋ ์๋ฒ ๋ชจ๋ ์คํ๋๊ณ ์์ด์ผ ์ ์์ ์ธ ์๋์ด ๊ฐ๋ฅํฉ๋๋ค.
- FrontEnd ์ค์น ๋ฐฉ๋ฒ
- ํฐ๋ฏธ๋(๋งฅ) ํน์ cmd(์๋์ฐ) ์ฐฝ์์ ์ํ๋ ๊ฒฝ๋ก์ git clone https://github.com/CSID-DGU/2023-2-SCS4031-01-Capsaicin
- VSCode์ ๋ค์ด๊ฐ VSCode ํฐ๋ฏธ๋ ์ฐฝ์ ์ผ ํ์ฌ CSID-DGU/2023-2-SCS4031-01-Capsacin ๊ฒฝ๋ก์ธ ๊ฒฝ์ฐ cd front๋ฅผ ํตํด ํ๋ก ํธ ํด๋ ์ ์
- ํฐ๋ฏธ๋ ์ฐฝ์ npm install (์ด๊ธฐ ์ ์์ ๊ฒฝ์ฐ) ์ ๋ ฅ
- npm run dev ์ ๋ ฅ (localhost 5173๋ฒ์ผ๋ก ์ ์)
- BackEnd ์ค์น ๋ฐฉ๋ฒ
-
(์ด๋ฏธ ํด๋ก ์ด ๋์๋ค๊ณ ๊ฐ์ , ํด๋ก ์ ํ์ง ์์๋ค๋ฉด ํ๋ก ํธ 1. ๋ฐฉ๋ฒ์ ํตํด ํด๋ก ) VSCode๋ฅผ ์๋ก์ด ์๋์ฐ์์ ์คํํ ๋ค์ ํฐ๋ฏธ๋ ์ฐฝ์ ์ผ CSID-DGU/2023-2-SCS4031-01-Capsacin ๊ฒฝ๋ก์ธ ๊ฒฝ์ฐ cd backend๋ฅผ ํตํด ๋ฐฑ์๋ ํด๋ ์ ์
-
pip install -r requirements.txt (ํจํค์ง ์ค์น)
-
python manage.py makemigrations
python manage.py migrate โrun-syncdb (dbํ์ผ ์์ฑ, ๊น์๋ db๋ฅผ ์ฌ๋ฆฌ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ก์ด dbํ์ผ ์์ฑํด์ฃผ์ด์ผํจ)
-
python manage.py runserver (์๋ฒ ์คํ, localhost 8000๋ฒ์ผ๋ก ์ ์)
-
- Service Architecture
- Database Architecture
- Usecase Diagram
Common
Frontend
Backend
ํ์๊ฐ์ ์ ์ผ๋ฐ์ ์ ์ ๋ณดํธ์ ์ ์ ๋ฅผ ์ ํํ์ฌ ๊ฐ์ ํฉ๋๋ค.
- ์ผ๋ฐ์ ์ : ์์ ๊ฒฝ๋ก๋น๊ณผ ๊ฑด๊ฐ์ ๋ณด(ํค, ๋ชธ๋ฌด๊ฒ, ์์ถํ์)์ ํฌํจํ ๊ฐ์ธ ์ ๋ณด ์ ๋ ฅํ์ฌ ๊ฐ์
- ๋ณดํธ์ ์ ์ : ๋ชจ๋ํฐ๋ง์ ํ ์ผ๋ฐ ์ฌ์ฉ์์ ์ ํ๋ฒํธ์ ๋ณธ์ธ์ ์ ํ๋ฒํธ๋ฅผ ํตํด ๊ฐ์
์ ์ ๋ ํ์๊ฐ์ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ผ๋ฐ ์ ์ , ๋ณดํธ์ ์ ์ ์ค ์ ํํ ์ ์์ต๋๋ค.
- ์ผ๋ฐ ์ ์ ํ์๊ฐ์ ํ๋ฉด
- ๋ณดํธ์ ํ์๊ฐ์ ํ๋ฉด
- ์ผ๋ฐ ์ฌ์ฉ์์ ์ต๊ทผ ๊ฑด๊ฐ์์น์ ๊ฒฝ๋ก๋น์ ํ์ธํ ์ ์๊ณ , ์ ๋ณด ์ ๋ ฅ ๋ฒํผ์ ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค.
- ๋ณดํธ์ ํ์์ ๊ฑด๊ฐ๊ธฐ๋ก๊ณผ ๋ง์ถค์ผ์ด๋ง ์ด๋ ๊ฐ๋ฅํฉ๋๋ค.
-
๊ฑด๊ฐ์ ๋ ฅ ๋ฉ์ธ
ํ์, ๋ชธ๋ฌด๊ฒ, ์์ ๋ฐ ์ด๋์ ๋ณด๋ฅผ ์ ๋ ฅํ ์ ์๋ ํญ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ํ์/๋ชธ๋ฌด๊ฒ ์
๋ ฅ
- ํ์๊ณผ ๋ชธ๋ฌด๊ฒ๋ฅผ ์ ๋ ฅํ ์ ์์ต๋๋ค.
- ์๋จ์ ๋ณด ์
๋ ฅ
- 8๊ฐ์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ํํ๋ฉด ํด๋น ์นดํ ๊ณ ๋ฆฌ์ ์์ ๋ฆฌ์คํธ๋ฅผ ๋ณผ ์ ์๊ณ , ์์๊ณผ ๋จน์ ์์์ ์์ ์ ๋ ฅํฉ๋๋ค.
- ์ด๋ ์
๋ ฅ
- ์์ ์ ๋ ฅ๊ณผ UI ๋์ผ
- ์ฌ์ฉ์์ ์ธก์ ํ ๋ชธ๋ฌด๊ฒ, ํ์ ์์น์ ์ด๋ ์๋ชจ ์นผ๋ก๋ฆฌ๋ฅผ ํ ํํ๋ก ๋ณด์ฌ์ฃผ๋ฉฐ, ์ต๊ทผ์ ๋จน์ ์์์ ํ์ธํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์์ ์๋จ ๊ธฐ๋ก๊ณผ ์ด๋ ๊ธฐ๋ก์ ๋ฐํ์ผ๋ก ๋ง์ถค ์๋จ๊ณผ ์ด๋์ ์ ๊ณตํฉ๋๋ค.
- ๊ฒฝ๋ก๋น ๋ด ๊ณต์ง๋ฅผ ํตํด ๊ฒฝ๋ก๋น์ ์์์ ์ ์ ์์ต๋๋ค.
- ๊ฒฝ๋ก๋น ๋ด ๊ด๋ฆฌ์๋ ๊ฒฝ๋ก๋น ๊ณต์ง๋ฅผ ๋ฑ๋กํ ์ ์์ต๋๋ค.
- ์ด๋ฒ ๋ฌ ์ด๋ ๋ญํน๊ณผ ํ์ ์ธก์ ๋ญํน์ ๋ณผ ์ ์์ต๋๋ค.
[์ฌ์ฉ์ ์ธก๋ฉด]
- ๊ฑด๊ฐ ์ํ ํ์ ๊ฐ๋ฅ :๋ณธ์ธ์ ๊ฑด๊ฐ ์ํ๋ฅผ ๋ ์ฃผ์๊น๊ฒ ๊ด์ฐฐ ๊ฐ๋ฅ
- ๊ฐ์ธ ๋ง์คํ ๊ฑด๊ฐ ๊ด๋ฆฌ : ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๋ ฅ๋ฐ์ ์๋จ, ์ด๋ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ฌ์ฉ์ ์ ํธ๋ ๊ธฐ๋ฐ ์๋จ ์ถ์ฒ ์๋น์ค ์ ๊ณต
[๋ณดํธ์ ์ธก๋ฉด]
- ์ฌ์ฉ์ ๊ฑด๊ฐ ๋ชจ๋ํฐ๋ง : ์ฌ์ฉ์์ ๊ฑด๊ฐ ์ํ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง ๊ฐ๋ฅ ๋ฐ ์ผ์ ์ํ์์์ ์ ๋นํ ์กฐ์ธ๊ณผ ์ง์ ๊ฐ๋ฅ
ํ๊ทธ: ์ค๋ช
ํ๊ทธ ์ด๋ฆ | ์ค๋ช |
---|---|
Feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
Fix | ๋ฒ๊ทธ ์์ |
Design | CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ |
Comment | ํ์ํ ๊ฒฝ์ฐ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ |
Test | ํ ์คํธ ์ถ๊ฐ |
Rename | ํ์ผ ํน์ ํด๋๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง์ธ ๊ฒฝ์ฐ |
Remove | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํํ๋ ๊ฒฝ์ฐ |
|-- api => ํ๋ก์ ํธ์์ ์ฌ์ฉํ API์ ํต์ ํ๊ธฐ ์ํ ๋ชจ๋๋ค์ ๊ด๋ฆฌํ๋ ๋๋ ํ ๋ฆฌ
|-- assets => ํ๋ก์ ํธ์ ์ฌ์ฉ๋ ํฐํธ, ์ด๋ฏธ์ง ๋ฑ์ ์ ์ ์์์ ๋ณด๊ดํ๋ ๋๋ ํ ๋ฆฌ
|-- coponents => ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณตํต ์ปดํฌ๋ํธ๋ค์ ๋ชจ์๋ ๋๋ ํ ๋ฆฌ
|-- node_modules => ํ๋ก์ ํธ์ ์ฌ์ฉ๋ ํจํค์ง๋ค์ด ์ค์น๋๋ ๋๋ ํ ๋ฆฌ
|-- pages => React Router ๋ฑ์ ์ฌ์ฉํ์ฌ ํ์ด์ง๋ฅผ ๊ด๋ฆฌํ๋ ๋๋ ํ ๋ฆฌ
|-- public => ์ ์ ํ์ผ๋ค์ ์ ์ฅํ๋ ๋๋ ํ ๋ฆฌ
|-- src => ์ฃผ์ ์์ค ์ฝ๋๊ฐ ์์นํ๋ ๋๋ ํ ๋ฆฌ(์ปดํฌ๋ํธ, ์คํ์ผ, ๋ก์ง ๋ฑ์ด ์ฌ๊ธฐ์ ํฌํจ)
|-- store => Redux๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฅผ ๊ด๋ฆฌํ๋๋ฐ ํ์ํ ์ก์ , ๋ฆฌ๋์ ๋ฑ์ ๋ชจ์๋ ๋๋ ํ ๋ฆฌ
|-- accounts => ์ฌ์ฉ์ ์ ๋ณด ๊ด๋ฆฌ
|-- backend => ํ๋ก์ ํธ ์ค์ ๋ฐ app ๊ด๋ฆฌ
|-- main => Api ๊ด๋ฆฌ
ํ์ฅ | -- | -- | -- |
---|---|---|---|
์ ์น์ | ๊ณฝํธ์ | ์ ๋ฏผ๊ฒฝ | ํ๊ท๋ฏผ |
AI | FE | BE | FE |
์ฐ์ ์์คํ ๊ณตํ๊ณผ | ๊ฒฝ์์ ๋ณดํ๊ณผ | ํ๊ณต์๋ฌผ๊ณตํ๊ณผ | ์ฐ์ ์์คํ ๊ณตํ๊ณผ |
2018112481 | 2020111571 | 2019112294 | 2018112478 |
์ ์น์ : ์์ ์ถ์ฒ AI ๋ฐ ๋ฐ์ดํฐ์ ๊ตฌ์ฑ
๊ณฝํธ์ : ์ธํ๋ผ ๊ตฌ์ถ, ๊ฑด๊ฐ ๊ธฐ๋ก ๋ฐ ๋ง์ถค ์ผ์ด ๊ตฌํ
์ ๋ฏผ๊ฒฝ : Rest API ๊ฐ๋ฐ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ
ํ๊ท๋ฏผ : ์์ ์ ๋ ฅ ๋ฐ ์กฐํ, ์ด๋ ์ ๋ ฅ ๊ตฌํ