์๊ฐ์ ๊ฐ ์ํต์ผ๋ก ์ง์์๋ต(Q&A)์ด ์ํํ๊ฒ ์ด๋ฃจ์ด์ง๋ ํ์ต ํ๊ฒฝ์ ๊ตฌ์ถ, ๋์๊ฐ ์ด๋ฅผ AI ๊ธฐ๋ฐ ์๋ ์๋ต ๊ธฐ๋ฅ๊ณผ ์ฐ๊ฒฐํ์ฌ ํ์ต ํจ์จ์ ๋์ด๋
ํตํฉ ๊ต์ก ํ๋ซํผ(LMS)
!!
๋จ์ํ Q&A ๊ฒ์ํ์ด ์๋, ์ง๋ฌธ ๋ฑ๋ก > ๋ต๋ณ > ํผ๋๋ฐฑ/์ฑํ๊น์ง ์ด์ด์ง๋ ํ๋ฆ๊ณผ AI๊ฐ ํ์ต์๋ฅผ ๋์ธ ์ ์๋ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ.
๋ํ ์ค๋ฌด ์์ค์ ํ ํ์ ์ ์ํด Lint/Prettier ์ค์ ๊ฐ์ด๋, ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ฑ, ๊ณตํต ์ปดํฌ๋ํธ ์ค๊ณ ๋ฑ์ ๊ธฐ์ ์ ํ๊ฒฝ๋ ํจ๊ป ์ ๋ฆฝํ๋ฉฐ, ์ค์ ์๋น์ค ๊ตฌ์ถ๊ณผ ์ ์ฌํ ๊ฐ๋ฐ ๊ฒฝํ์ ๋ชฉํ๋ก ์งํ.
(์์ ๋ฃ์ ์๋ฆฌ)
๊ธฐ์ ์ ๋ฐ ๊ฐ์ด๋ & AI ๊ธฐ๋ฅ ๊ตฌํ
- ์ง๋ฌธ ์์ธ์กฐํ
- ๋ต๋ณ ๋ฑ๋ก
- AI ๋ต๋ณ ์์ฑ
- AI Chatbot
- ๋ฆฐํธ/ํฌ๋ฉํฐ/๋ฐฐํฌ ๊ฐ์ด๋
- ๊ณตํต ์ปดํฌ๋ํธ & tailwind ์ค์
- AI Chatbot ์ฐ๋
- AI ๋ต๋ณ ์์ฑ ์ฐ๋
- ๋ต๋ณ ์ฑํ/๋๊ธ ๋ฑ๋ก API
- ์ง๋ฌธ ์์ธ/๋ชฉ๋ก ์กฐํ API
์ง๋ฌธ/๋ต๋ณ ๋ฑ๋ก ๋ฐ ์์
- ์ง๋ฌธ ๋ฑ๋ก/์์
- ๋ต๋ณ ์์
- ๋ต๋ณ ๋๊ธ ๋ฑ๋ก
- ๋ต๋ณ ์ฑํ
- ์ง๋ฌธ ๋ฑ๋ก/์์ API
- ๋ต๋ณ ๋ฑ๋ก/์์ API
์ธ์ฆ ๋ฐ ๊ณ์ ๊ด๋ จ ๊ธฐ๋ฅ
- ํ์๊ฐ์ , ๋ก๊ทธ์ธ
- ํ์ ํํด ๋ณต๊ตฌ ๋ชจ๋ฌ
- ์์ด๋/๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ๋ชจ๋ฌ
- ์๊ฐ์ ๋ฑ๋ก ๋ชจ๋ฌ
- ํ์๊ฐ์ /๋ก๊ทธ์ธ API
- ์์ด๋/๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ API
- ํํด ๋ณต๊ตฌ API
๋ง์ดํ์ด์ง ๋ฐ Q&A ๋ฆฌ์คํธ
- ๋ง์ดํ์ด์ง/์์
- ํ์ ํํด, ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ
- ์ง๋ฌธ ๋ชฉ๋ก ์กฐํ
- Q&A ๋ฆฌ์คํธ ์นด๋
- ์๊ฐ์ ๋ฑ๋ก ๋ชจ๋ฌ
- ๋ง์ดํ์ด์ง API
- ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ API
- ํ์ ํํด API
- ์๊ฐ์ ๋ฑ๋ก API
๋ถ๋ฅ | ์คํ / ๋ผ์ด๋ธ๋ฌ๋ฆฌ |
---|---|
Frontend | React, TypeScript, Vite, Tailwind CSS |
State | Context API, Custom Hook, Zustand |
Auth | Supabase, OAuth (Kakao, Naver) |
Style | Tailwind CSS, Lucide React Icons |
Utils | Axios, React Router DOM, React Toast |
CI/CD | Husky, Lint-Staged, Prettier, ESLint |
Versioning | Git, GitHub (Issues, PR, Branch ์ ๋ต) |
- **ํ์**: `์ด๋ชจ์ง + ํ์
+ ๋ฉ์์ง (#์ด์๋ฒํธ)`
- **์์**: `โจ feat: ๋ก๊ทธ์ธ API ์ฐ๋ (#23)`
- **ํ์ฉ๋ ํ์
๋ชฉ๋ก**
| ์ด๋ชจ์ง | ํ์
| ์ค๋ช
|
| ------ | -------- | ------------------- |
| โจ | feat | ์๋ก์ด ๊ธฐ๋ฅ |
| ๐ | fix | ๋ฒ๊ทธ ์์ |
| โป๏ธ | refactor | ๋ฆฌํฉํ ๋ง |
| โ
| test | ํ
์คํธ ์ฝ๋ |
| ๐ก | chore | ๊ธฐํ ์์
(๋น๋ ๋ฑ) |
| ๐ | docs | ๋ฌธ์ ์์ฑ ๋ฐ ์์ |
| ๐ | build | ๋น๋ ๊ด๋ จ ์์
|
| ๐ | hotfix | ๊ธด๊ธ ์์ |
> ์ปค๋ฐ ๋ฉ์์ง๋ [Husky](https://typicode.github.io/husky) + ์ปค์คํ
ํ
์ผ๋ก ๊ฒ์ฌ๋๋ฉฐ, ํ์์ด ๋ง์ง ์์ผ๋ฉด ์ปค๋ฐ์ด ์ฐจ๋จ๋ฉ๋๋ค.
- GitHub ์ด์ ์์ฑ ์ ํ ํ๋ฆฟ์ ๋ฐ๋ผ ์์ฑํด์ผ ํฉ๋๋ค.
- ํฌํจ ํญ๋ชฉ:
## Description
## To-do
- [ ] ํญ๋ชฉ 1
- [ ] ํญ๋ชฉ 2
## References
- ์ฐธ๊ณ ๋งํฌ ๋๋ ์๋ฃ
## ๊ธฐํ
- ์ ์ ์ฌํญ
## ๐ง ๊ด๋ จ ์ด์
- ์ด PR์ ๋ค์ ์ด์์ ๊ด๋ จ ์์ต๋๋ค: `#123`
## ๐ ๋ณ๊ฒฝ ์ฌํญ
- [ ] ๊ธฐ๋ฅ ์ถ๊ฐ
- [ ] ๋ฒ๊ทธ ์์
- [ ] ๋ฆฌํฉํ ๋ง
- [ ] ๋ฌธ์ํ
- [ ] ์คํ์ผ ์์
- [ ] ํ
์คํธ ์ฝ๋ ์์ฑ
- [ ] ๊ธฐํ (ํ๊ฒฝ์ค์ , ์์กด์ฑ ์
๋ฐ์ดํธ ๋ฑ)
## โ๏ธ ๋ณ๊ฒฝ ์ฌํญ ์์ธ ์ค๋ช
- ๋ณ๊ฒฝ๋ ํ์ผ:
- ์ฃผ์ ๊ตฌํ/์์ ๋ด์ฉ:
## ๐ธ ์คํฌ๋ฆฐ์ท (UI ๋ณ๊ฒฝ ์ ํ์)
<!-- ์์:  -->
## ๐ ๋ฌธ์ํ
- [ ] ๊ด๋ จ ๋ฌธ์๊ฐ ์
๋ฐ์ดํธ๋์์ต๋๋ค.
## ๐ ๋ฆฌ๋ทฐ์ด์๊ฒ ์์ฒญ ์ฌํญ (์ ํ)
<!-- ์: ์๋ฌ ํธ๋ค๋ง ๋ฐฉ์ ๊ด์ฐฎ์์ง ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค. -->
## โ ๏ธ ๊ธฐํ ์ฃผ์ ์ฌํญ
<!-- ์: ์ด PR์ hotfix์ด๋ฏ๋ก ๋น ๋ฅธ ๋ณํฉ์ด ํ์ํฉ๋๋ค. -->
## ๐ง ๊ด๋ จ ์ด์
- ์ด PR์ ๋ค์ ์ด์์ ๊ด๋ จ ์์ต๋๋ค: `#123`
## ๐ ๋ณ๊ฒฝ ์ฌํญ
- [ ] ๊ธฐ๋ฅ ์ถ๊ฐ
- [ ] ๋ฒ๊ทธ ์์
- [ ] ๋ฆฌํฉํ ๋ง
- [ ] ๋ฌธ์ํ
- [ ] ์คํ์ผ ์์
- [ ] ํ
์คํธ ์ฝ๋ ์์ฑ
- [ ] ๊ธฐํ (ํ๊ฒฝ์ค์ , ์์กด์ฑ ์
๋ฐ์ดํธ ๋ฑ)
## โ๏ธ ๋ณ๊ฒฝ ์ฌํญ ์์ธ ์ค๋ช
- ๋ณ๊ฒฝ๋ ํ์ผ:
- ์ฃผ์ ๊ตฌํ/์์ ๋ด์ฉ:
## ๐ธ ์คํฌ๋ฆฐ์ท (UI ๋ณ๊ฒฝ ์ ํ์)
<!-- ์์:  -->
## ๐ ๋ฌธ์ํ
- [ ] ๊ด๋ จ ๋ฌธ์๊ฐ ์
๋ฐ์ดํธ๋์์ต๋๋ค.
## ๐ ๋ฆฌ๋ทฐ์ด์๊ฒ ์์ฒญ ์ฌํญ (์ ํ)
<!-- ์: ์๋ฌ ํธ๋ค๋ง ๋ฐฉ์ ๊ด์ฐฎ์์ง ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค. -->
## โ ๏ธ ๊ธฐํ ์ฃผ์ ์ฌํญ
<!-- ์: ์ด PR์ hotfix์ด๋ฏ๋ก ๋น ๋ฅธ ๋ณํฉ์ด ํ์ํฉ๋๋ค. -->