Contents
- 프로젝트 개요
- 프로젝트 Flow
- API 설계
- 데이터데이스 선택 및 스키마 정의
- 테스트 커버리지
프로젝트 요약
Architecture
Programming
Database
API
DevOps
Hexagonal Architecture
Python
MySQL, Redis, Queue(Python Built-In)
FastAPI
Docker
프로젝트 개요:
- 간단한 포인트 추천 서버 시스템 구축을 목표로 하였으며, 코드의 가독성(Readability)와 유연성(Flexibility)를 중점으로 설계 하였습니다.
- 고려 사항들
- [Architecture 선택 이유]
- 실제 프로덕트에서는 여러 서비스들이 launch, deprecate 될수 있음에 가독성과 유연성에 적합한 “**DDD based Hexgaonal architecture”**를 선정하였습니다.
- [프로그래밍 선택 이유]
- FastAPI & Python으로 빌드하였습니다. (목표 < 120ms)
- [Database 선택 이유] MySQL, Redis, Queue
- MySQL= 메인 저장소
- Redis = 빠른 Access를 위한 Caching 시스템 저장소
- Queue = 안정적인 시스템 확보를 위한 저장소
- 서비스의 목적
- 포인트 추천 서비스로, 추천된 상품을 클릭시 포인트를 적립 할수 있습니다.
- 기본 추천 서비스
- 추천 로직 서비스
- 포인트 서비스
프로젝트 Flow
Technical Pipeline

Hexagonal architecture
