νμμ μ°λͺ¨λ₯Ό μν λ§μΆ€ν κ΄λ¦¬ μλΉμ€, λμ΄λ²¨λ¦¬μ FastAPI Server Repository μ λλ€.
app/
βββ api/
β βββ endpoints/
β βββ __init__.py # λΌμ°ν° λͺ¨μ
βββ core/ # κ³΅ν΅ μ€μ λ° μ νΈλ¦¬ν° (config, logging λ±)
βββ models/
β βββ models/ # CV BaseModel
βββ schemas/
β βββ __init__.py
β βββ job.py # μμ²/μλ΅ μ€ν€λ§ (μμ
λ¨μ)
βββ services/
β βββ __init__.py
β βββ openai_service.py # OpenAI μ°λ λ‘μ§
β βββ predictor_service.py # CV λͺ¨λΈκΈ°λ° μμΈ‘/μΆλ‘ λ‘μ§
β βββ s3_service.py # AWS S3 μ°λ λ‘μ§(Presigned URL λ€μ΄)
βββ worker/
β βββ __init__.py
β βββ redis_client.py # Redis μ°κ²° λ° ν΄λΌμ΄μΈνΈ
β βββ tasks.py # λΉλκΈ° μμ
μ μ
β βββ worker.py # μ컀 μνΈλ¦¬ν¬μΈνΈ
βββ __init__.py
βββ main.py # FastAPI μ ν리μΌμ΄μ
μνΈλ¦¬ν¬μΈνΈ
deployment/
β
βββ deploy.sh # λ°°ν¬ μ€ν¬λ¦½νΈ
βββ docker-compose.yml # κΈ°λ³Έ μ€ν ꡬμ±
βββ docker-compose.monit # λͺ¨λν°λ§ ν¬ν¨ μ€ν ꡬμ±
βββ nginx.conf # Nginx μ€μ
βββ prometheus.yml # Prometheus μ€μ
βββ prometheus-rule.yml # Prometheus rule μ€μ
βββ generate_review.py # μ νΈ/μ€ν μ€ν¬λ¦½νΈ
- Python / FastAPI
- Redis (Queue/Worker)
- OpenAI API (μμ±/μμ½ λ±)
- AWS S3 (νμΌ μ μ₯)
- Nginx (Reverse Proxy)
- Docker / Docker Compose
- Prometheus (Monitoring)
DearBelly Spring Server Git μ»€λ° λ©μμ§ μμ± κ·μΉ
<type>(<scope>): <subject>
μμ : feat(member): νμκ°μ API ꡬν
μ΄μ λ²νΈλ₯Ό 컀λ°/PR λ©μμ§μ ν¬ν¨νλ©΄, GitHubμμ μλμΌλ‘(#4)νμμΌλ‘ λ§ν¬λμ΄ μμ μΆμ μ΄ μ¬μμ§λλ€.
| Type | μ€λͺ |
|---|---|
feat |
μλ‘μ΄ κΈ°λ₯ μΆκ° |
fix |
λ²κ·Έ μμ |
refactor |
κΈ°λ₯ λ³ν μλ 리ν©ν λ§ |
del |
λΆνμν μ½λ μμ |
test |
ν μ€νΈ μ½λ μΆκ°/μμ |
docs |
λ¬Έμ μμ± λλ μμ |
chore |
λΉλ, μ€μ , CI, κΈ°ν μ μ§κ΄λ¦¬ |
<type>/<μμ
-μ€λͺ
>-<μ΄μλ²νΈ>
- main: λ°°ν¬ κ°λ₯ν μμ μ μΈ μ½λ
- develop: κ°λ° λΈλμΉ
type: feat, fix, refactor λ±μμ -μ€λͺ: μλ¬Έμ-μΌλ°₯μΌμ΄μ€(kebab-case)λ‘ μμ±μ΄μλ²νΈ: GitHub μ΄μ λ²νΈ μ°κ²°μ©
μμ:
feat/social-login-4

