0012.3 Portfolio . Giftogether
Giftogether (In Progress)#
생일/기념일마다 커피 기프티콘이 쌓이는 것이 불만인가요? 선물펀딩을 시작해 보세요!
Github Repository URL: Giftogether_backend , Giftogether_frontend
Tech Stack: Typescript
, NestJS
, TypeORM
, PostgreSQL
, EventEmitter2
, Jest
, docker-compose
, Faker.JS
-
Finite State Machine: 엔티티의 상태변화를 모델링하는
FsmService
를 도메인 서비스로 도입, 엔티티의 상태전이를 한곳에서 관리 1 -
Jest for Automating Tests: 기존 테스트 환경의 부족한 커버리지(0.56%)를 개선하기 위해 Jest를 기반으로 테스팅 프레임워크 도입, 결과적으로 전체 테스트 커버리지 58.87% 달성.
-
Event Storming: 이벤트 스토밍세션을 통해 애그리게이트 간의 명확한 경계를 설계, 궁극적 일관성(Eventual Consistency)을 통해 객체의 의존성 감소 및 책임 분리 3
-
Continuous Integration & Delivery: Github Action 스크립트와 셸 스크립트를 작성하여 자동으로 도커 이미지를 빌드, Amazon ECR에 업로드, EC2 서버에서 이를 pull하여 서버 최신화
-
Boost Query Performance: TypeORM을 사용하면서 만난 N+1 쿼리 문제를 해결하여 특정 API에 대한 쿼리속도 향상. 4
-
https://github.com/coding-jjun/Giftogether_backend/pull/212 ↩
-
https://giftogether.notion.site/api-testing-automation # Test Coverage 추적 ↩
-
https://giftogether.notion.site/event-storming TODO - 문서 작성 ↩
-
TODO - 구현 및 문서 작성 ↩