스틸, 배관이 사용돠는 프로젝트에 필요한 제품을 중개거래 서비스 스타트업
[기술스택]
* Python, Django, Django REST framework(DRF), AWS EC2, MariaDB, Docker, Docker-Compose, Celery, Redis
[담당 업무]
1. 중요 알림 서비스 개선
* SMS 방식에서 카카오 채널로 알림톡 NCP(Naver Cloud Platform)의 SENS(Simple & Easy Notification Service)를 활용해 변경하여 사용자 유입량 50% 가량 증가
* 알림톡 failover 기능을 이용하여 기존 SMS 으로 인해 메시지 전달의 신뢰성을 보장
* 관리에 용이하기 하기 위해 알림 기능 별로 메시지 템플릿화
2. 견적서 다운로드 기능 추가
* 표준 견적서 양식을 설계후 사용자 입력 데이터 삽입후 AWS S3에 저장
* 엑셀 파일을 PDF 형식으로 변환하기 위해 외부 API와의 통신 구현
* 사용자 다운로드 시점에서 바로 다운 받기에는 지연시간이 발생되는 이슈 발생, 견적서 진행상태를 확인하고 값이 더이상 변하지 않을 시점에 celery를 통해 비동기 처리
3. Django Rest framework 기반 서비스/관리자 API 서버 개발
* 서비스의 핵심이 되는 견적 관련 API 80% 이상을 담당
* 견적 기능의 상태를 TextChoice를 활용하여 명시적으로 관리
* 레거시 코드들에 발생되는 N+1 문제들을 개선하여 평균 API 반응속도 최적화
* 데이터 삭제시 해당 데이터 별도 관리하여 히스토리에 용이하게 변경
* 클래스간의 결합도를 낮추고 확장성과 유지보수관리를 위한 리팩토링 진행
4. Git-Flow 브랜치 전략 도입
* 기능단위에 초점 맞춰 태스크를 분리하고 브랜치를 만들고 추적에 용이하게 하기 위해서 Git-Flow를 도입하되 feature, develop. master, hotfix 필요한 브랜치를 두고 도입
5. DB 마이그레이션
* 이전 버전 DB는 테이블 분리, 불필요한 테이블, 매핑테이블 필요,구조들이 확장성이 불리 및 데이터 명칭이 직관적이지 않아 필요한 부분에 의해서 재정의 후 테이블 옮기는 작업
더보기