λ°λ €μΈμ λ³μ λ°©λ¬Έ λ²κ±°λ‘μμ ν΄κ²°νκΈ° μν λ°λ €λλ¬Ό λΉλλ©΄ μ§λ£ μλΉμ€
λ³μ λ°©λ¬Έμ΄ μ΄λ €μ΄ λ°μ λ°λ €μΈλ€μ μν λ°λ €λλ¬Ό λΉλλ©΄ μλ£ μλΉμ€μ λλ€.
ꡬλ¦μ΄λ₯Ό ν€μ°λ λ°λ €μΈ 'μ΄λ°λ €'
- λ¬Έμ μ :
- μ½λ¬Ό ν¬μ¬μκΈ° κ²°μ μ μν΄ λ³μμμ μ£ΌκΈ°μ μΈ κ΄μ°° μ§λ£κ° νμ
- λ³μμ λν μ€νΈλ μ€κ° λμ
- νμν μ :
- λ³μμ λ°©λ¬Ένμ§ μκ³ κ΄μ°° μ§λ£ νμ
- μκ°, 곡κ°μ μ μ½ μμ΄ μ§λ£ νμ
ν λ₯μ λ°λ €μΈ, μμμ¬ , λ³μ κ΄κ³μ 3κ°μ§μ μ¬μ©μ μ νμ΄ μ‘΄μ¬
- νλ‘ν λ±λ‘ : λ°λ €λλ¬Όμ μ 보λ₯Ό νλ‘ν ννλ‘ λ±λ‘νμ¬ μ 보 μ΄λ λ° κ΄λ¦¬
- μμ½ μμ½ μ 곡 : μμ±νλ μ§λ£ μ μ²μ λ΄μ©μ μμ½ν΄ μ΄λ€ μ§λ£ λ΄μμΈμ§ νλμ νμΈ κ°λ₯
- AI μμ½ μ§λ¨μ : μμμ¬μ κ²μ¦μ κ±°μΉ AI μμ½ μ§λ¨μ 보κ΄
- μ μ²μ μμ± : μνλ λ³μκ³Ό μμμ¬λ₯Ό κ²μ ν μ ννκ³ , μ¦μ μ λ ₯
- μλ κ²°μ μλ¨ μ ν : μΉ΄μΉ΄μ€νμ΄ κ²°μ λ₯Ό ν΅ν΄ μμ½μ νμ νκ³ μΉμΈ λκΈ° μνλ‘ μ ν
- μ€μκ° 1:1μ§λ£ : Kurento κΈ°λ° WebRTC κΈ°μ μ νμ©νμ¬ μ격 νμ μ§λ£ μ§μ
- STT β text λ³ν : Whisper-1μ μ΄μ©ν΄ λΉλλ©΄ μ§λ£ μ€ μμ±μ ν μ€νΈ νμΌλ‘ λ³ν
- AI text μμ½ : μλ£ μ©μ΄κ° λ§μ ν μ€νΈλ₯Ό ChatGPT 4.1μ ν΅ν΄ ν΅μ¬ λ΄μ© μμ½
- μμμ¬ κ²μ¦ : μμμ¬μ κ²ν μ μ°¨λ₯Ό ν΅ν΄ μμ , μΉμΈ
- μμ½ μκ° μ€μ : λ²νΌ ν ν΄ λ°©μμΌλ‘ μ§λ£ κ°λ₯/λΆκ° μκ° μ€μ
- μ μ² λͺ©λ‘ νμΈ : μ 체 μμ½ λ΄μμ μ‘°ννκ³ , λ΄μ©μ κ²ν ν λ€ μΉμΈ λλ λ°λ € μ²λ¦¬ κ°λ₯
- μλ© : μ§λ£ μ’ λ£ ν κ²°μ κΈμ‘ μ λ ₯ β μλ κ²°μ μμ²
- Language: TypeScript
- Framework: React 19
- UI/μ€νμΌλ§: TailwindCSS
- μν κ΄λ¦¬: Zustand
- λΌμ°ν : React Router Dom
- κ°λ° λꡬ: Vit
- Language: Java 17
- Framework: Spring Boot 3.3.3
- Database: MySQL, Redis, Elasticsearch
- ORM: Spring Data JPA
- μΈμ¦/보μ: JWT (jjwt), Spring Security
- λ©μμ§ μλΉμ€: RabbitMQ
- API λ¬Έμν: Swagger
- μΉμμΌ: Spring WebSocket
- κ°λ° λꡬ: Lombok, Devtools
- AI : GMS
- Containerization: Docker
- CI/CD: Jenkins
- Cloud: AWS ,S3 Bucket
- Frontend
TODAK/
β
βββ frontend/ # React + Vite + TypeScript κΈ°λ° νλ‘ νΈμλ
β βββ public/ # μ μ 리μμ€ (μ΄λ―Έμ§, μμ΄μ½ λ±)
β βββ src/ # μ£Όμ νλ‘ νΈμλ μμ€μ½λ
β β βββ assets/ # μ΄λ―Έμ§/ν°νΈ λ± μ μ μμ
β β βββ component/ # κ³΅ν΅ UI μ»΄ν¬λνΈ (Atomic Design)
β β β βββ button/ # λ²νΌ μ»΄ν¬λνΈ
β β β βββ card/ # μΉ΄λν UI (μ§λ£/μμ½ λ±)
β β β βββ header/ # μλ¨ ν€λ μ»΄ν¬λνΈ
β β β βββ icon/ # SVG/PNG κΈ°λ° μμ΄μ½ μ»΄ν¬λνΈ
β β β βββ input/ # μ
λ ₯ κ΄λ ¨ UI (κ²μ, νμΌ μ
λ‘λ λ±)
β β β βββ menubar/ # μν λ³ νλ¨ λ©λ΄λ° (Owner, Staff, Vet)
β β β βββ navbar/ # ν λ€λΉκ²μ΄μ
UI
β β β βββ pages/ # νμ΄μ§ λ¨μ μ»΄ν¬λνΈ
β β β β βββ auth/ # μΈμ¦/νμκ°μ
/λ‘κ·ΈμΈ κ΄λ ¨ νμ΄μ§
β β β β βββ Owner/ # λ°λ €μΈ(μ¬μ©μ) κ΄λ ¨ νμ΄μ§
β β β β βββ Staff/ # λ³μ μ§μ κ΄λ ¨ νμ΄μ§
β β β β βββ Vet/ # μμμ¬ κ΄λ ¨ νμ΄μ§
β β β βββ selection/ # λλ‘λ€μ΄, μκ° μ ν λ± μ ν UI
β β β βββ state/ # μν λ±μ§ λ± μκ°ν μ»΄ν¬λνΈ
β β β βββ table/ # ν/μκ°ν UI
β β β βββ template/ # λͺ¨λ¬, μμ½ λ± ν
νλ¦Ών UI
β β β βββ text/ # ν
μ€νΈ/컨ν
μΈ μΆλ ₯μ© μ»΄ν¬λνΈ
β β βββ fonts/ # ν°νΈ νμΌ
β β βββ layouts/ # νμ΄μ§ λ μ΄μμ (λͺ¨λ°μΌ, λ©μΈ λ±)
β β βββ plugins/ # μΈλΆ νλ¬κ·ΈμΈ μ€μ (axios λ±)
β β βββ router/ # React Router κ²½λ‘ κ΄λ¦¬
β β βββ RTC/ # WebRTC μ°κ²° λ‘μ§
β β βββ services/ # API νΈμΆ μλΉμ€
β β βββ store/ # Zustand μ μ μν κ΄λ¦¬
β β βββ styles/ # CSS/Tailwind μ€νμΌ μ μ
β β βββ types/ # TypeScript νμ
μ μ
β β βββ utils/ # μ νΈ ν¨μ λͺ¨μ
β βββ μ€μ νμΌλ€ # (Dockerfile, ESLint, Vite, TSConfig λ±)
β
βββ backend/ # Spring Boot κΈ°λ° λ°±μλ
β βββ gradle/ # Gradle Wrapper μ€μ
β βββ src/
β β βββ main/
β β β βββ java/com/A409/backend/ # λ°±μλ Java μ½λ
β β β β βββ BackendApplication.java # Spring Boot μ€ν λ©μΈ
β β β β βββ domain/ # λλ©μΈ κ³μΈ΅
β β β β βββ home/ # ν/κΈ°λ³Έ 컨νΈλ‘€λ¬
β β β β βββ hospital/ # λ³μ (μν°ν°, λ ν¬μ§ν 리, μλΉμ€)
β β β β βββ pay/ # κ²°μ (μΉ΄μΉ΄μ€νμ΄ μ°λ)
β β β β βββ pet/ # λ°λ €λλ¬Ό κ΄λ¦¬
β β β β βββ reservation/ # μμ½ κ΄λ¦¬
β β β β βββ treatment/ # μ§λ£ κ΄λ¦¬
β β β β βββ user/ # μ¬μ©μ (auth/owner/staff/vet)
β β β β βββ websocket/ # WebSocket + Kurento μκ·Έλλ§
β β β β βββ global/ # κ³΅ν΅ μ€μ /μ νΈ (AI, 보μ, μμΈ, Redis λ±)
β β β βββ resources/ # μ€μ νμΌ (application.properties λ±)
β β βββ test/ # ν
μ€νΈ μ½λ
β βββ λΉλ/λ°°ν¬ μ€μ # (Gradle, Dockerfile, Jenkinsfile λ±)
β
βββ images/ # νλ‘μ νΈ κ΄λ ¨ μ΄λ―Έμ§ λ° μμ° GIF
β βββ ERD.png # λ°μ΄ν°λ² μ΄μ€ ERD
β βββ mainpage.png # λ©μΈ νμ΄μ§ νλ©΄
β βββ μμ€ν
_μν€ν
μ².png # μ 체 μμ€ν
μν€ν
μ² λ€μ΄μ΄κ·Έλ¨
β βββ λͺ©μ
.png # UI λͺ©μ
μ΄λ―Έμ§
β βββ ... # μμ° GIF, νλ©΄ μΊ‘μ² λ±
β
βββ package.json # λ£¨νΈ νλ‘μ νΈ μ€μ (μν¬μ€νμ΄μ€)
βββ README.md # μ 체 νλ‘μ νΈ λ¬Έμ
| μ΄λμ° | κΉμ μ± | μ‘μΈλ² | μμ±μ | μ μ€μ§ | νμ§κ²½ |
|---|---|---|---|---|---|
| FE, νμ₯ | BE | BE | BE | FE | FE |



















