K-POP ํฌ์ ์ํ ํตํฉ ์ผ์ ๊ด๋ฆฌ ๋ฐ ํฌ ํ๋ ํ๋ซํผ
- ํ๋ก์ ํธ ์๊ฐ
- ์ฃผ์ ๊ธฐ๋ฅ
- ๊ธฐ์ ์คํ
- ์์ํ๊ธฐ
- API ๋ฌธ์
- ๊ฐ๋ฐ ์ผ์
- ๋ฐ๋ชจ ์์
- ํ์ ์๊ฐ
- ํ์ ๋ฐฉ์
Kalendar๋ K-POP ํฌ๋ค์ด ์ํฐ์คํธ ์ผ์ ํ์ธ๋ถํฐ ๊ณต์ฐ ์๋งค, ํ์ฅ ์ด๋๊น์ง ํ ๊ณณ์์ ํด๊ฒฐํ ์ ์๋ ํตํฉ ํ๋ซํผ์ ๋๋ค.
- ์ข์ํ๋ ์ํฐ์คํธ ์ผ์ ์ ํ์ธํ๋ ค๋ฉด ์ฌ๋ฌ SNS, ํฌ์นดํ, ๊ณต์ ์ฌ์ดํธ๋ฅผ ์ผ์ผ์ด ๋ฐฉ๋ฌธํด์ผ ํจ
- ๊ณต์ฐ ์๋งค ์ฌ์ดํธ์ ์ผ์ ์ ๋ณด๊ฐ ๋ถ๋ฆฌ๋์ด ์์ด ๋ถํธํจ
- ๊ณต์ฐ์ฅ๊น์ง ๊ฐ๋ ๊ตํตํธ์ ๊ตฌํ๊ธฐ ์ํด ์นดํก ์คํ์ฑํ ๋ฐฉ์ ๋ค์ ธ์ผ ํจ
- ํฌ๋ค๋ผ๋ฆฌ ์๋ฐ์ ์ผ๋ก ๋ง๋ ํ์ํ์ ์ฐธ์ฌํ๊ณ ์ถ์ง๋ง ์ ๋ขฐ๋๊ฐ ๊ฑฑ์ ๋จ
- Kalendar๋ ์ผ์ ํ์ธ โ ์๋งค โ ์ด๋๊น์ง ํฌ ํ๋์ ์ ๊ณผ์ ์ ํ๋์ ํ๋ซํผ์์ ์ ๊ณตํฉ๋๋ค.
- ํ๋ก์ฐํ ์ํฐ์คํธ๋ค์ ๋ชจ๋ ์ผ์ ์ ํ๋์ ์บ๋ฆฐ๋์์ ํ์ธ
- ์ฝ์ํธ, ํฌ๋ฏธํ , ๋ฐฉ์ก, ์ปด๋ฐฑ ๋ฑ ์ผ์ ์นดํ ๊ณ ๋ฆฌ๋ณ ๋ถ๋ฅ
- ์ค์ํ ์ผ์ ์ ๋ํ ์ค์๊ฐ ์๋ฆผ (SSE ๊ธฐ๋ฐ)
- ํ๋ซํผ ๋ด์์ ์ง์ ์๋งค ์งํ
- ๋๊ธฐ์ด ์์คํ ์ผ๋ก ๊ณต์ ํ ์๋งค ๊ธฐํ ์ ๊ณต
- Redis ๋ถ์ฐ๋ฝ ๊ธฐ๋ฐ์ ์์ ์ ์ธ ์ข์ ์ ์ ์ฒ๋ฆฌ
- ์ค์๊ฐ ์ข์ ์ํ ํ์ธ
- ๊ณต์ฐ์ฅ ์๋ณต์ ์ํ ํฉ์น ํํฐ ์์ฑ ๋ฐ ์ฐธ์ฌ
- ์ถ๋ฐ์ง, ๋์ฐฉ์ง, ์๊ฐ, ์ฑ๋ณ, ์ธ์ ๋ฑ ์์ธ ์กฐ๊ฑด ์ค์
- ํํฐ์ฅ์ ์ ์ฒญ์ ์น์ธ/๊ฑฐ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ
- WebSocket ๊ธฐ๋ฐ ํํฐ๋ณ ์ค์๊ฐ ์ฑํ
- ํํฐ ์ฐธ์ฌ ์ ์๋ ์ฑํ ๋ฐฉ ์ ์ฅ
- ํํฐ์ฅ์ ๋ฉค๋ฒ ๊ด๋ฆฌ ๊ธฐ๋ฅ (๊ฐํด ๋ฑ)
- Node.js 18.0 ์ด์
- Java 21 ์ด์
- PostgreSQL 14.0 ์ด์
- Redis 7.0 ์ด์
- Docker & Docker Compose
git clone https://github.com/prgrms-web-devcourse-final-project/WEB7_9_WY-_BE.git
cd WEB7_9_WY-_BE# Backend ํ๊ฒฝ ๋ณ์ ์ค์
cp backend/.env.example backend/.env
# ํ์ํ ํ๊ฒฝ ๋ณ์ ๊ฐ์ .env ํ์ผ์ ์
๋ ฅํ์ธ์
# Frontend ํ๊ฒฝ ๋ณ์ ์ค์
cp frontend/.env.example frontend/.env
# ํ์ํ ํ๊ฒฝ ๋ณ์ ๊ฐ์ .env ํ์ผ์ ์
๋ ฅํ์ธ์docker-compose up -dBackend
cd backend
./gradlew bootRunFrontend
cd frontend
pnpm install
pnpm run devSwagger UI๋ฅผ ํตํด API ๋ฌธ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๊ฐ๋ฐ ํ๊ฒฝ:
http://localhost:8080/swagger-ui/index.html - ํ๋ก๋์
:
https://idol-kalendar.shop/swagger-ui/index.html
- โ ํ๋ก์ ํธ ์ด๊ธฐ ์ธํ
- โ ์ธ์ฆ/์ธ๊ฐ ์์คํ
- โ ์ํฐ์คํธ ๊ด๋ฆฌ ๋ฐ ํ๋ก์ฐ ๊ธฐ๋ฅ
- โ ์บ๋ฆฐ๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ
- โ ํํฐ ๋งค์นญ ๊ธฐ๋ณธ ๊ธฐ๋ฅ
- โ ๋ง์ดํ์ด์ง ๊ธฐ๋ณธ ๊ธฐ๋ฅ
- ๐ ์๋งค ์์คํ ๊ตฌ์ถ (๋๊ธฐ์ด, ์ข์ ์ ์ )
- ๐ ์ค์๊ฐ ์ฑํ ๊ธฐ๋ฅ
- ๐ ์๋ฆผ ์์คํ (SSE)
- ๐ AWS ๋ฐฐํฌ ๋ฐ ์์ ํ
- โณ ์ฝ๋ ๋ฆฌํฉํฐ๋ง ๋ฐ ์ต์ ํ
- โณ ๋ฒ๊ทธ ์์ ๋ฐ ์์ ํ
- โณ ์ฑ๋ฅ ํ ์คํธ ๋ฐ ๊ฐ์
- โณ ๋ฌธ์ํ ์์ฑ
๋ฐ๋ชจ ์์์ ํ๋ก์ ํธ ์์ฑ ํ ์ถ๊ฐ ์์ ์ ๋๋ค.
| ์ด๋ฆ | ์ญํ | ๋ด๋น ๊ธฐ๋ฅ |
|---|---|---|
| ์๋ณ์ | PO | ์ธ์ฆ/์ธ๊ฐ, ์๋งค ์์คํ |
| ๋ฐฑ์น๋ฒ | ๋ฐฑ์๋ ํ์ฅ | ํํฐ ๋งค์นญ, ์ฑํ ์์คํ |
| ์กฐ์์ฌ | ํ๋ก ํธ ํ์ฅ | ํ๋ก ํธ ๊ฐ๋ฐ |
| ๋ฐ์ค์ | ์ํคํ ํธ ์ค๊ณ | ๋ฉ์ธํ์ด์ง, ์ํฐ์คํธ ๊ด๋ฆฌ, ์๋งค ์์คํ |
| ๊น์์ง | ๊ณ ๊ธ ๊ธฐ๋ฅ / ์ฑ๋ฅ ๊ฐ์ | ์บ๋ฆฐ๋, ์๋ฆผ ์์คํ |
| ์ ํ์ฐ | ๊ณ ๊ธ ๊ธฐ๋ฅ / ์ฑ๋ฅ ๊ฐ์ | ๋ง์ดํ์ด์ง, ์๋งค ์์คํ |
- ์ ๊ธฐ ํ์: ์ฃผ 1ํ (๋งค์ฃผ ์์์ผ ์ ์ฒด ํ์)
- ๊ธด๊ธ ์ํฉ: Slack ์ฆ์ ๊ณต์
- Git Flow ์ ๋ต ์ฌ์ฉ
- PR ํ์ ๋ฆฌ๋ทฐ
- Swagger ๊ธฐ๋ฐ API ๋ฌธ์ ์ค์๊ฐ ์ ๋ฐ์ดํธ
- JUnit ๊ธฐ๋ฐ ๋จ์ ํ ์คํธ
- JMeter ๋ถํ ํ ์คํธ
- ์ฝ๋ ๋ฆฌ๋ทฐ ํ์