μ’μνλ μΉν° μΈκ³κ΄μ μΊλ¦ν°, μνΌμλ, μ€μ μ μ μνκ³
μκ°κ° κ²ν ν κΈ°μ¬λ₯Ό 곡μ μΈκ³κ΄μ λ°μνλ νμ
ν μλλΉλ© νλ«νΌμ
λλ€.
μλμ μΉν° μΈκ³κ΄μ GitHub repositoryμ²λΌ κ΄λ¦¬νλ μ°½μ νμ μλΉμ€μ λλ€.
μκ°λ μνμ μΈκ³κ΄ repositoryλ₯Ό λ§λ€κ³ , λ
μμ 곡λ μ°½μμλ pull requestμ²λΌ μλ‘μ΄ μ€μ μ μ μν©λλ€.
μ μμ AI λΆμμ κ±°μ³ λ²μ, μꡬμ±, μΆ©λ μν, κΈ°μ¬ λ±κΈμΌλ‘ μ 리λκ³ , μκ°λ μ΄λ₯Ό κ²ν ν΄ μ±ν, μμ μμ², λ°λ €, 곡μ λ°μμ κ²°μ ν©λλ€.
- μΈκ³κ΄ repository νμ λ° κ²μ
- μΉν° μΈκ³κ΄ μμΈ λͺ¨λ¬κ³Ό 곡μ README νμΈ
- μΊλ¦ν°, μνΌμλ, μ§μ, μΈκ³ κ·μΉ λ± λͺ¨μ§ μμ κΈ°λ° κΈ°μ¬
- μ°½μ μ μ μμ± λ° AI 리뷰 νλ‘μ°
- μκ°μ© λμ보λμμ μ μ κ²ν , μ±ν, λ°λ €, 곡μ λ°μ
- νλ‘νμμ λ΄κ° λ§λ μΈκ³κ΄κ³Ό 곡μ λ°μλ κΈ°μ¬ νμΈ
- λ°±μλ API μ°λ λ° κ°λ°μ© mock fallback
ν
ββ μΆμ² μΈκ³κ΄ μΉ΄λ
ββ κ²μ / νκ·Έ νμ
ββ κΈ°μ¬μ λνΉ
μΈκ³κ΄
ββ repository μμΈ
ββ README / λͺ¨μ§ μμ / ν΅κ³
ββ μ°½μ μ μ μμ±
PR
ββ AI λΆμ
ββ κΈ°μ¬μ μ견
ββ μ μΆ
μκ° λμ보λ
ββ μ μ ν
ββ μΆ©λ μν / AI μ μ
ββ Accept / Request Changes / Reject / Merge| μμ | κΈ°μ |
|---|---|
| Framework | React, Vite |
| Language | TypeScript |
| Routing | React Router DOM |
| Styling | Tailwind CSS |
| State | Zustand |
| Server State | TanStack Query |
| Icons | lucide-react |
| API | Fetch κΈ°λ° custom API client |
src/
app/ # λΌμ°ν°μ μ± νλ‘λ°μ΄λ
assets/ # μ μ μ΄λ―Έμ§
components/ # κ³΅ν΅ UIμ λλ©μΈ μ»΄ν¬λνΈ
features/ # repository, PR, user, auth λλ©μΈ λ‘μ§
hooks/ # κ³΅ν΅ ν
layouts/ # νμ΄μ§ λ μ΄μμ
lib/ # API client, mapper, path, formatter
mocks/ # κ°λ°μ© mock λ°μ΄ν°
pages/ # λΌμ°νΈ νμ΄μ§npm install
npm run devκΈ°λ³Έ κ°λ° μλ²λ Vite μ€μ μ λ°λΌ http://localhost:5173μμ μ€νλ©λλ€.
.env.exampleμ μ°Έκ³ ν΄ .envλ₯Ό μμ±ν©λλ€.
VITE_API_BASE_URL=http://127.0.0.1:8000
VITE_API_ENABLED=true
VITE_ACCESS_TOKEN_KEY=worldbuild:access-tokenVITE_API_ENABLED=trueμ΄λ©΄ λ°±μλ APIλ₯Ό μ°μ μ¬μ©ν©λλ€.
μ½κΈ° APIλ μ€ν¨ μ mock λ°μ΄ν°λ‘ fallbackνκ³ , μμ±/μμ /μ μΆ κ°μ μ°κΈ° APIλ API νμ±ν μνμμ mock fallbackμ νμ§ μλλ‘ κ΅¬μ±λμ΄ μμ΅λλ€.
npm run dev # κ°λ° μλ² μ€ν
npm run build # νμ
μ²΄ν¬ ν νλ‘λμ
λΉλ
npm run preview # λΉλ κ²°κ³Ό 미리보기
npm run typecheck # TypeScript νμ
κ²μ¬| Route | μ€λͺ |
|---|---|
/ |
ν, μΆμ² μΈκ³κ΄, κ²μ μ§μ |
/search |
μΈκ³κ΄ κ²μκ³Ό νν° |
/r/new |
μ μΈκ³κ΄ μμ± |
/r/:repoId |
μΈκ³κ΄ μμΈ |
/r/:repoId/pr/new |
μ°½μ μ μ μμ± |
/r/:repoId/dashboard |
μκ° μ μ κ²ν λμ보λ |
/u/:username |
μ μ νλ‘ν |
- API pathλ
src/lib/apiPaths.tsμμ κ΄λ¦¬ν©λλ€. - λ°±μλ μλ΅μ
src/lib/apiMappers.tsμμ νλ‘ νΈ νμ μΌλ‘ λ³νν©λλ€. - repository, pull request, user κΈ°λ₯μ
src/featuresλ¨μλ‘ λΆλ¦¬λμ΄ μμ΅λλ€. - mock λ°μ΄ν°λ λ°±μλκ° λΆμμ ν κ°λ° μν©μμλ μ£Όμ νλ©΄μ΄ κΉ¨μ§μ§ μλλ‘ λ³΄μ‘° μν μ ν©λλ€.
μλμ μ°½μμμ μΈκ³κ΄μ μ§ν€λ©΄μλ, λ μμ μμμ 곡μ κΈ°λ‘μΌλ‘ λ¨κΈ°λ κ²μ λͺ©νλ‘ ν©λλ€.