개발 리포트
프로젝트 개요
담당 작업
1. Seeding & DB 관리 작업 전반
- Python과 Selenium를 활용한 Crowling 스크립트 작성
- Crowling 스크립트를 통해 유사 서비스 도메인에서 Raw 데이터 수집
- 업체 정보 및 댓글 등
- 주소 정보는 마이데이터 포털에서 수집 및 공개 되어 있는 대량의 데이터 활용
- 데이터 모델 관계를 고려한 데이터 생성 스크립트 작성
- 실제 서비스 환경을 최대한 고려하여 데이터를 생성할 수 있도록 작성
- DB Seeding 스크립트 작성
- 생성된 데이터 테이블 별로 Seeding 스크립트 작성
- 테이블 별 Seeding 스크립트를 묶어, 데이터 관계를 고려한 순차 Seeding 스크립트 작성
- 간단한 DB 작업을 자동화하여 Console에서 제어할 수 있도록 스크립트 작성
- DB 테이블 전체 초기화 기능
- 특정 테이블에서 특정 Index 이상의 데이터 삭제 기능
- 데이터 신규 생성 및 DB Seeding 작업 일체 자동화 기능
- Batch 단위로 작업을 분리하여 Memory 사용량 최소화
- Insert 실패한 데이터는 별도로 재처리 하도록 Insert 기능 강화
- Seeding 데이터 관련 각종 테스트 작업과 최종적으로, 대량의 레코드 생성
- 300명의 이사 업체 정보
- 1,500명의 사용자 정보
- 10,000개의 이사 정보와 10,000개의 견적 요청 레코드
- 약 44,000개의 지정 견적 요청 레코드
- 약 55,000개의 견적 레코드
- 약 9,500개의 리뷰 레코드와 12,000개의 찜 정보
2. 구글 로그인 API 기능
- 구글 콘솔 제어 및 구글 로그인 API 기능 구현
3. 알림 API 기능
- SSE 방식의 알림 기능
- 양방향 채널이 불필요하다 판단되어 SSE 방식 채택
- 읽지 않은 알림 조회 & 알림 읽음 업데이트 기능
2. 리뷰 & 찜 관련 API 기능 개발