๊ฒฝ๋ณต๋ํ๊ต ๋ณด๊ฑด๊ณ์ด(๊ฐํธ·๋ฌผ๋ฆฌ์น๋ฃ·์น์์) ํ์ ์ ์ฉ AI ํ์ตํํฐ๋ง ํ๋ซํผ
์ง๋จ ํ ์คํธ์ RAG ๊ธฐ๋ฐ ์ง์๋ฒ ์ด์ค๋ฅผ ํ์ฉํ์ฌ ๊ตญ๊ฐ๊ณ ์ ๋๋น ๋ง์ถคํ ํ์ต์ ์ง์ํฉ๋๋ค.
campuson/
├── apps/
│ ├── web/ # Next.js 14 (TypeScript, Tailwind, shadcn/ui)
│ └── api/ # FastAPI + SQLAlchemy + Alembic
├── packages/
│ └── shared/ # ๊ณต์ ํ์
๋ฐ ์ ํธ๋ฆฌํฐ
├── docs/
│ └── diagrams/ # ER ๋ค์ด์ด๊ทธ๋จ, ์ํคํ
์ฒ ๋ค์ด์ด๊ทธ๋จ
├── scripts/ # ๊ฐ๋ฐ/๋ฐฐํฌ ์คํฌ๋ฆฝํธ
├── docker-compose.yml # PostgreSQL + Redis ๋ก์ปฌ ํ๊ฒฝ
├── .env.example # ํ๊ฒฝ ๋ณ์ ํ
ํ๋ฆฟ
└── package.json # ์ํฌ์คํ์ด์ค ๋ฃจํธ
- Node.js 20+
- Python 3.11+
- Docker Desktop
- pnpm or npm 10+
cp .env.example .env
# .env ํ์ผ์ ์ด์ด ํ์ํ ๊ฐ์ ์ฑ์์ฃผ์ธ์npm run docker:upcd apps/api
python -m venv .venv
source .venv/Scripts/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
alembic upgrade head # DB ๋ง์ด๊ทธ๋ ์ด์
uvicorn app.main:app --reload # http://localhost:8000cd apps/web
npm install
npm run dev # http://localhost:3000- Notion ํ๋ก์ ํธ ํ์ด์ง
- ER ๋ค์ด์ด๊ทธ๋จ
- API ๋ฌธ์ (Swagger) (์๋ฒ ์คํ ํ)
- API ๋ฌธ์ (ReDoc)
- Postman ์ปฌ๋ ์ (์ฌ์ฉ๋ฒ)
# 1. ํ
์คํธ์ฉ PostgreSQL DB ์์ฑ (ํ ๋ฒ๋ง)
docker compose up -d
docker exec -it campuson-postgres psql -U campuson -c "CREATE DATABASE campuson_test;"
docker exec -it campuson-postgres psql -U campuson -d campuson_test \
-c "CREATE EXTENSION IF NOT EXISTS vector; CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";"
# 2. ์์กด์ฑ ์ค์น
cd apps/api
pip install -r requirements.txt
# 3. ๋จ์ ํ
์คํธ๋ง ์คํ
pytest tests/unit -v
# 4. e2e ํตํฉ ํ
์คํธ๋ง ์คํ
pytest tests/e2e -v
# 5. ์ ์ฒด (Day 7 ์ต์ข
์ ๊ฒ)
pytest -vCI์์๋ GitHub Actions services๋ก PostgreSQL/Redis๋ฅผ ์๋์ผ๋ก ๋์ฐ๊ณ
pytest -q๋ฅผ ์คํํฉ๋๋ค (.github/workflows/ci.yml ์ฐธ๊ณ ).
| ๋ช ๋ น์ด | ์ค๋ช |
|---|---|
npm run docker:up |
PostgreSQL + Redis ์ปจํ ์ด๋ ์์ |
npm run docker:down |
์ปจํ ์ด๋ ์ค์ง |
npm run docker:logs |
์ปจํ ์ด๋ ๋ก๊ทธ ํ์ธ |
npm run lint |
์ ์ฒด ESLint ์คํ |
npm run format |
Prettier ํฌ๋งทํ |
npm run api:migrate |
DB ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฉ |
- Student — ๋ณธ์ธ ํ์ต ๋ฐ์ดํฐ๋ง ์ด๋
- Professor — ๋ณธ์ธ ํ๊ณผ ํ์ ๋ฐ์ดํฐ ์ด๋
- Admin — ํ๊ต ๋จ์ ์ด์ ๋ฐ์ดํฐ ์ด๋
- Developer — ์์คํ ์ค์ ๋ฐ ๋ก๊ทธ ์ ๊ทผ
์์ธํ ๋ด์ฉ์ 02. ์ฌ์ฉ์ ์ญํ ๋ฐ ๊ถํ ์ฒด๊ณ๋ฅผ ์ฐธ๊ณ ํ์ธ์.