개요Dayner 에는 매달 정기 휴무일을 비롯한 연중 휴일, 급한 일정으로 인한 운영시간 변경등을 등록할수 있는 기능을 가지고 있다. 최초의 디자인인 경우에는 대부분 매주 월요일에 있는 정기 휴무만 표시를 하고 있었기에 영업시간변경/휴일 을 표시하는 type, date, description 이 존재하고 있었다. 이를 ~/yyyyMM 형식으로 표현된 엔드포인트를 이용해 api 요청을 하면 영업일정(id,type, date, description) 로 된 db에 between 첫일~ 말일 쿼리를 이용해 제공을 해주고 있었다. 문제는 디자인이 바뀌면서 프론트 단에서 우측 사진의 24~25일에 그려져있는 연속된 일정의 컴포넌트를 만들기 위해 프론트에서 과도한 자원 사용이 이루어지는 것 같다는 의견이 제시되면..
리팩토링
기획부터 운영까지 반년이 넘어가는 시점이다.초기 계획에 비해 규모가 커지고 있다. 새로운 디자이너 영입(결정 과정이 쉽지는 않았다)과 프론트엔드 인원 충원으로 작업이 시작되었으며, 디자인이 새로워졌다. 원래 계획과 현재 기능을 비교하자면 아래와 같다. 원래 계획과 현재 기능을 비교해 보면, 기능 확장이 있었고 앞으로 2호점도 생길 예정이며, 토스 결제 기능이 추가된 주문 기능도 포함될 예정이다. 그러나 현재 코드 구조에서는 서로 관련이 없는 코드들이 하나의 패키지에 모여 있어, 새로운 기능을 추가하거나 유지보수할 때 불편함을 느낀다. 모듈화의 필요성따라서, 모듈화를 통해 코드를 분리하고 관리하기로 결정했다. 최근 회자 되고 있는 DDD(Domain-Driven Design)나 MSA(Micros..