AI ์ฑ๋ด์ ํ์ฉํ ํ ์ผ ๊ด๋ฆฌ ์๋น์ค
ํกํฌ๋๋ AWS Lex ๊ธฐ๋ฐ AI ์ฑ๋ด์ ํตํด ์์ฐ์ด๋ก ํ ์ผ์ ์์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ์ฌ์ฉ์๋ ๋ํํ ์ธํฐํ์ด์ค๋ฅผ ํตํด ํ ์ผ์ ์ ๋ฆฌํ๊ณ , ๋ชฉํ๋ฅผ ์ค์ ํ๋ฉฐ, ์ฐ์ ์์๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ํ ์ผ ์์ฑ, ์์ , ์ญ์
- ์๋ฃ ์ํ ๊ด๋ฆฌ
- ์ฐ์ ์์ ์ค์ (๋ฎ์, ๋ณดํต, ์ค์)
- ๋ฐ๋ณต ์ผ์ ์ค์ (์์ผ๋ณ ๋ฐ๋ณต)
- ๋ฉ๋ชจ ๊ธฐ๋ฅ
- ๋ ์ง๋ณ ํ ์ผ ์กฐํ
- ๋ชฉํ ์์ฑ ๋ฐ ๊ด๋ฆฌ
- ๋ชฉํ๋ณ ํ ์ผ ๊ทธ๋ฃนํ
- ๋ชฉํ๋ณ ์งํ ์ํฉ ์ถ์
- AWS Lex ๊ธฐ๋ฐ ์์ฐ์ด ์ฒ๋ฆฌ
- ๋ํํ ํ ์ผ ์์ฑ ๋ฐ ์ ๋ฆฌ
- ๋ชฉํ ์ ํ ํ AI์ ๋ํํ์ฌ ํ ์ผ ๊ด๋ฆฌ
- ์์
๋ก๊ทธ์ธ ์ง์
- Naver
- Kakao
- NextAuth ๊ธฐ๋ฐ ์ธ์ฆ ์์คํ
- ์คํ๋ผ์ธ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ฑ์ฒ๋ผ ์ค์น ๊ฐ๋ฅ
- ์๋น์ค ์์ปค๋ฅผ ํตํ ์บ์ฑ
- ๋ฐ์ํ ๋์์ธ (๋ชจ๋ฐ์ผ/๋ฐ์คํฌํฑ)
- ๋คํฌ ๋ชจ๋ ์ง์ ์ค๋น
- ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์ (Framer Motion)
- ์ ๊ทผ์ฑ ๊ณ ๋ ค (ARIA ์์ฑ)
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- UI Library: React 19
- Styling: Tailwind CSS 4
- Animation: Framer Motion
- State Management:
- Zustand (์ ์ญ ์ํ)
- TanStack Query (์๋ฒ ์ํ)
- Form Handling: React Hook Form + Zod
- UI Components: Radix UI
- Runtime: Node.js
- Database: PostgreSQL
- ORM: Prisma
- Authentication: NextAuth v5
- AI Service: AWS Lex Runtime V2
- Testing:
- Jest (๋จ์ ํ ์คํธ)
- Vitest (์ปดํฌ๋ํธ ํ ์คํธ)
- Playwright (E2E ํ ์คํธ)
- Testing Library
- Storybook: ์ปดํฌ๋ํธ ๋ฌธ์ํ ๋ฐ ์๊ฐ์ ํ ์คํธ
- Linting: ESLint
- Formatting: Prettier
- Git Hooks: Husky + Commitizen
talktodo/
โโโ src/
โ โโโ app/ # Next.js App Router ํ์ด์ง
โ โ โโโ api/ # API ๋ผ์ฐํธ
โ โ โโโ chat/ # AI ์ฑ๋ด ํ์ด์ง
โ โ โโโ goal/ # ๋ชฉํ ๊ด๋ฆฌ ํ์ด์ง
โ โ โโโ login/ # ๋ก๊ทธ์ธ ํ์ด์ง
โ โ โโโ mypage/ # ๋ง์ดํ์ด์ง
โ โโโ components/ # React ์ปดํฌ๋ํธ
โ โ โโโ Alert/ # ์๋ฆผ ์ปดํฌ๋ํธ
โ โ โโโ Chat/ # ์ฑ๋ด ๊ด๋ จ ์ปดํฌ๋ํธ
โ โ โโโ Card/ # ์นด๋ ์ปดํฌ๋ํธ
โ โ โโโ DialogManager/ # ๋ค์ด์ผ๋ก๊ทธ ๊ด๋ฆฌ
โ โ โโโ Goal*/ # ๋ชฉํ ๊ด๋ จ ์ปดํฌ๋ํธ
โ โ โโโ Task*/ # ํ ์ผ ๊ด๋ จ ์ปดํฌ๋ํธ
โ โ โโโ ui/ # ๊ณตํต UI ์ปดํฌ๋ํธ
โ โโโ hooks/ # ์ปค์คํ
ํ
โ โโโ lib/ # ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์
โ โ โโโ axios/ # Axios ์ค์
โ โ โโโ prisma.ts # Prisma ํด๋ผ์ด์ธํธ
โ โ โโโ lexClient.ts # AWS Lex ํด๋ผ์ด์ธํธ
โ โโโ repositories/ # ๋ฐ์ดํฐ ์ ๊ทผ ๋ ์ด์ด
โ โโโ services/ # ๋น์ฆ๋์ค ๋ก์ง ๋ ์ด์ด
โ โโโ stores/ # Zustand ์คํ ์ด
โ โโโ quries/ # React Query ํ
โ โโโ types/ # TypeScript ํ์
์ ์
โ โโโ utils/ # ์ ํธ๋ฆฌํฐ ํจ์
โโโ prisma/ # Prisma ์คํค๋ง ๋ฐ ๋ง์ด๊ทธ๋ ์ด์
โโโ public/ # ์ ์ ํ์ผ
โ โโโ fonts/ # ํฐํธ ํ์ผ
โ โโโ img/ # ์ด๋ฏธ์ง ํ์ผ
โโโ assets/ # ์์ด์ฝ ๋ฑ ๋ฆฌ์์ค