모든 것은 바뀔 수 있고 나 역시 무언가를 바꿀 수 있습니다. 그 첫걸음으로 미라클 모닝에 도전하는 사람들을 위한, 미라클 모닝 경험 개선 서비스입니다.
현재 제공되는 2가지 핵심 기능은 다음과 같습니다.
사용자가 찍은 사진을 저장하고 서버에 전달하기 위한 로직을 캡슐화 하고자 노력했습니다.
저장하는 내부 구현은 감추고 찍힌 사진을 전달하면 파일 혹은 MultiPart 형식으로 반환 되도록 하였습니다.
Response 에서 공통적으로 받아오는 정보를 Wrapping 객체를 만들었습니다. 반복 작성되는 코드를 줄이고 제네릭을 사용하여 필요한 부분의 Response DTO를 만들어 이용하도록 만들어 DTO 작성시 필요한 정보만 담을 수 있도록 개선하였습니다.
Retrofit2 enqueue() 함수 호출시 인자로 전달하는 Callback 객체를 상속 구현하였습니다. 공통적으로 사용될 분기 처리를 감추고 상황에 따른 행동을 lambda 를 사용하여 주입받도록 구현했습니다.
매번 익명 객체를 전달하는 것에 비해 Boiler Plate Code를 줄이고 가동성을 향상시킬 수 있었습니다.
반복되는 병합 과정에서 기존 Application을 손상시키지 않도록 확인하기 위해 Github Action을 이용했습니다.
3주의 기간이 주어진 프로젝트였기 때문에 Develop Branch에 급하게 들어오는 병합 내용에 다양한 Build 에러가 많았습니다. 이를 통한 손상을 줄이고자 Github Action으로 Build 과정을 검사하고 그 결과를 Slack API 를 이용해 공지하였습니다. 병합 이후 발생한 손상을 즉시 해결 함으로 추후 손상을 해결하는 시간을 줄이고 개발에 집중할 수 있었습니다.