"๋ฐ๋ณต์ ์ธ ์ ๋ฌด๋ AI์๊ฒ, ๋น์ ์ ํต์ฌ ๊ฐ์น์ ์ง์คํ์ธ์." ํ๋ก์ ํธ ์์ฑ๋ถํฐ ํ์๋ก ์์ฝ, ์ผ์ ๊ด๋ฆฌ๊น์ง ํ ๋ฒ์ ํด๊ฒฐํ๋ ์ฌ์ธ์ ํ์ ํด์ ๋๋ค.
๊ธฐ์กด ํ๋ก์ ํธ ๊ด๋ฆฌ ๋ฐฉ์์ ๋นํจ์จ์ ์ธ ์์ฌ์ํต๊ณผ ์๋ ์์ ์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์์ต๋๋ค. STM์ ์๊ตฌ์ฌํญ ์ ์์ ๊ธฐ๋ฐ์ ์๋ ์์ ์์ฑ, AI ํ์๋ก ์์ฝ, ์ค์๊ฐ ๋์๋ณด๋ ๊ธฐ๋ฅ์ ํตํด PM๊ณผ ํ์ ๋ชจ๋์ ์์ฐ์ฑ์ ๊ทน๋ํํฉ๋๋ค.
- ๊ฐ๋ฐ ๊ธฐ๊ฐ: 2025.09.03 ~ 2025.09.18 (์ฝ 2์ฃผ)
- ํ๋ช : F4
- ์์ ํ์์ ์๊ตฌ์ฌํญ ์ ์์๋ฅผ ์ ๋ก๋ํ๋ฉด AI(OpenAI)๊ฐ ์๋์ผ๋ก ์ธ๋ถ ์์ (Issue)์ ์์ฑํ๊ณ ์ฐ์ ์์๋ฅผ ์ค์ ํฉ๋๋ค.
- ๋ฐ๋ณต์ ์ธ ์ด๊ธฐ ์ธํ ์๊ฐ์ ํ๊ธฐ์ ์ผ๋ก ๋จ์ถํฉ๋๋ค.
- CLOVA Speech๋ฅผ ํ์ฉํ์ฌ ํ์ ์์ฑ์ ํ ์คํธ๋ก ๋ณํ(STT)ํฉ๋๋ค.
- AI๊ฐ ํ์ ๋ด์ฉ์ ๋ถ์ํ์ฌ ํต์ฌ ์๊ฑด, ๊ฒฐ์ ์ฌํญ, ํฅํ ๊ณํ์ผ๋ก ์๋ ์์ฝํ๊ณ ์ด๋ฉ์ผ๋ก ์ ์กํฉ๋๋ค.
- ํ๋ก์ ํธ ์งํ๋ฅ , ํ์๋ณ ๋ฆฌ์์ค ํํฉ, ์ด์ ์งํ ์ํ๋ฅผ ์๊ฐํ๋ ์ฐจํธ๋ก ์ ๊ณตํฉ๋๋ค.
- ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ์์ฌ๊ฒฐ์ ์ ์ง์ํฉ๋๋ค.
- WebSocket ๊ธฐ๋ฐ์ ์ค์๊ฐ 1:1 ๋ฐ ๊ทธ๋ฃน ์ฑํ ์ ์ง์ํฉ๋๋ค.
- ํ์ผ ๊ณต์ ๋ฐ ์ ๋ฌด ์๋ฆผ ๊ธฐ๋ฅ์ ํฌํจํฉ๋๋ค.
- ๊ฐํธ ์ฐจํธ(Gantt Chart)๋ฅผ ํตํด ํ๋ก์ ํธ ํ๋ฆ์ ํ๋์ ํ์ ํ๊ณ ์ผ์ ์ ์กฐ์ ํฉ๋๋ค.
- ์บ๋ฆฐ๋ ๋ทฐ๋ฅผ ํตํด ๊ฐ์ธ ๋ฐ ํ์ ์ผ์ ์ ๊ด๋ฆฌํฉ๋๋ค.
- Core: React, SpringBoot, Vite
- State Management: Zustand, TanStack Query (React Query)
- Styling: TailwindCSS, Emotion, MUI
- Visualization: Recharts, svar-ui/react-gantt, React Big Calendar
- Network: Axios, StompJS/SockJS (WebSocket)
- Framework: Spring Boot
- Security: Spring Security, JWT
- Database: Oracle
- API: OpenAI API, Naver CLOVA Speech
- Deploy: EC2, Docker, GitHub Actions
- Collab: Jira, Figma, Slack, Notion
| ์ด๋ฆ | ์ญํ | ๋ด๋น ์ ๋ฌด |
|---|---|---|
| ๊น๋ํธ | FE / BE | โข ์ ์ฒด์ ์ธ ํ๋ก ํธ์๋ UI/UX ๊ฐ๋ฐ โข CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ (Docker, EC2, VM) โข ์ฌ์ฉ์ ์ธ์ฆ/์ธ๊ฐ (JWT, Security) |
| ๋ฐฐ์ง์ | BE / FE | โข ํ์๋ก ๊ธฐ๋ฅ ๊ตฌํ (STT, AI ์์ฝ) โข ๋์๋ณด๋ ๋ฐ์ดํฐ ์๊ฐํ ๋ฐ ํต๊ณ API โข ์ผ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ |
| ๋ฐฑ์น์ค | BE / FE | โข ํ๋ก์ ํธ ์์ฑ ๋ฐ ๊ด๋ฆฌ ๋ก์ง โข ์๊ตฌ์ฌํญ ์ ์์ ํ์ฑ ๋ฐ ์ด์ ์๋ ์์ฑ โข ๊ฐํธ ์ฐจํธ ๋ฐ ์ด์ ํธ๋ํน |
| ์กฐ์ค์ | BE / FE | โข ์ค์๊ฐ ๋ฉ์ ์ (WebSocket) ๊ตฌํ โข ์ฑํ ๋ฐฉ ๊ด๋ฆฌ ๋ฐ ์๋ฆผ ์์คํ โข ์ฑํ api ์ฐ๋ |
ํ๋ก์ ํธ ์งํ ์ค ๋ฐ์ํ ์ฃผ์ ์ด์์ ํด๊ฒฐ ๊ณผ์ ์ ๋๋ค.
- ๋ฌธ์ : JWT ๋ก๊ทธ์ธ ํ ๋ฐ๊ธ๋ฐ์ ํ ํฐ์ผ๋ก WebSocket ๋ฉ์์ง(send) ์ ์ก ์ ์๋ฒ์์ ๊ถํ ๊ฑฐ๋ถ ์ค๋ฅ ๋ฐ์.
- ํด๊ฒฐ: StompHandler ์ธํฐ์ ํฐ๋ฅผ ๊ตฌํํ์ฌ ์ฐ๊ฒฐ(Connect) ์์ ์ ํ ํฐ์ ๊ฒ์ฆํ๊ณ , ํด๋น ์ธ์ ์ ์ธ์ฆ ์ ๋ณด๋ฅผ SecurityContext์ ์ ์ฅํ๋๋ก ๊ฐ์ .
- ๋ฌธ์ : ๋น๋ ์ ํ ์คํธ ์ฝ๋ ์คํ ์ค ํน์ ์๋น์ค Bean ์ฃผ์ ๋ถ๊ฐ ์ค๋ฅ ๋ฐ์.
- ํด๊ฒฐ:
application-test.yml์ ๋ณ๋๋ก ๊ตฌ์ฑํ๊ณ@ActiveProfiles("test")๋ฅผ ์ ์ฉํ์ฌ ํ ์คํธ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌ ๋ฐ ์ ์ํ.
- ๋ฌธ์ : ์์ฑ์ผ, ์์ ์ผ ๋ฑ ๋ฐ๋ณต๋๋ ์ปฌ๋ผ ๊ด๋ฆฌ์ ๋นํจ์จ์ฑ.
- ํด๊ฒฐ: Interceptor(๋๋ JPA Auditing) ๊ธฐ๋ฅ์ ํตํด Insert/Update ์ ์๋์ผ๋ก ํ์ฌ ์๊ฐ์ ์ฃผ์ ํ๊ณ , Soft Delete ๋ก์ง์ ๊ณตํตํํ์ฌ ์ฝ๋ ์ค๋ณต ์ ๊ฑฐ.
- ๋ฌธ์ : ํ์๋ณ๋ก ์์ดํ ์์ธ ์ฒ๋ฆฌ ๋ฐฉ์์ผ๋ก ์ธํ ๊ด๋ฆฌ ์ด๋ ค์.
- ํด๊ฒฐ:
GlobalExceptionHandler์@ExceptionHandler๋ฅผ ๋์ ํ์ฌ ์ ์ญ์ ์ผ๋ก ์์ธ๋ฅผ ํฌ์ฐฉํ๊ณ ์ผ๊ด๋ ์๋ต ํฌ๋งท์ ๋ฐํํ๋๋ก ๊ตฌ์กฐํ.