plus-tdd / animalNest

TDD, CICD / AutoScaling, 통합 모니터링, 장애대응
1 stars 2 forks source link

VetHub : 동물병원 예약 시스템

TDD기반 서버 구축, CI+CD / AutoScaling, 통합 모니터링, 장애대응

반려동물 소유자들이 편리하게 병원 예약을 할 수 있는 웹 애플리케이션입니다.

이 시스템을 통해 사용자들은 온라인으로 병원 예약을 신속하게 처리할 수 있고, 예약 확인, 변경 및 취소 등의 기능을 손쉽게 이용할 수 있습니다.


🏗️ 아키텍처

image


🧑‍🤝‍🧑 팀원 및 제공 기능 (팀 노션)

팀원 제공 기능 Github
팀장 : 김재준 회원가입, 로그인, 인증 @KJJDSA
박세진 결제, 알림 @codesejin
이재철 진료 예약/조회/수정/삭제 @codeing999
팀 이미지


🧑‍💻 스택

Tech Stack

CI/CD

Infrastructure

Load Test


🧪 로컬 실행 방법(Getting Started)

npm run start:local
npm run start:dev


⏳ git repository 브랜치 전략

이러한 브랜치 전략을 통해 저희는 개발 과정을 체계적으로 관리하고, 기능별로 병렬적인 작업을 진행할 수 있습니다. 코드 변경은 각자의 기능 브랜치에서 이루어지며, 최종적인 안정 버전은 main 브랜치에 반영됩니다.


🚛 디렉토리 구조

src                                        
├─ __tests__ //유닛테스트 디렉토리
│  └─ moduleA    
│     ├─ service.test.ts //모듈A의 서비스 테스트코드
│     └─ repository.test.ts //모듈A의 레포지토리 테스트코드
├─ module                                  
│  ├─ moduleA                                                      
│  │  ├─ api                               
│  │  │  ├─ controller.ts
│  │  │  └─ dto.ts  
│  │  ├─ data
│  │  │  ├─ db.ts //실제 레포지토리
│  │  │  └─ entity.ts                                                                    
│  │  ├─ domain                            
│  │  │  ├─ model.ts
│  │  │  ├─ repository.ts //인터페이스로 구현된 레포지토리
│  │  │  └─ service.ts                                           
│  │  ├─ error.ts                             
│  │  ├─ mapper.ts                                    
│  │  └─ module.ts
│  ├─ http-exception.filter.ts
│  ├─ logger.ts
│  ├─ response.ts
│  ├─ seeder.ts
│  ├─ app.module.ts
│  ├─ app.controller.ts
│  ├─ app.service.ts
│  └─ main.ts
├─ package.json                    
├─ tsconfig.json                 
├─ .gitignore              
└─ .env


📃 swagger

image