프로젝트에 관하여
주문서 열설정은 내부 개발자나, 내부운영팀 일부에서만 이해하고 설정할 수 있는 부분을 고객이 직접 또는 운영팀이 개발자를 통하지 않고도 편하게 수정 할 수 있도록 개선 하는 프로젝트다.
2차 3차 프로젝트에서는 템플릿의 구분 및 수동, 자동의 파편화된 데이터 정렬, UI개선의 위주로 진행됬다.
이번 3차에서는 2차에 구현되어있던 API를 가지고 프론트엔드 테스트와 데이터 마이그레이션 및 데이터 유효성검사를 진행을 하였다.
판매처리스트 페이지 | 템플릿 데이터 수정 페이지 |
---|---|
JSON 마침표 전쟁
데이터의 특이점
셀메이트의 개발자면 한번정도 보는 포팅열설정의 데이터는 한 칼럼 안에 String 형태의 JSON 으로 저장되어있다.
String으로 저장된 JSON에서 약간의 특이점을 발견 할 수 있다.
|
|
위와 같이 Key에 . (dot)이 저장되는 특이점이다.
알기로는 . 으로 인해 Parsing 할때 Parser에 따라서 다음과 같이 깊이가 달라지는것으로 알고 있다.
|
|
내부 테스트
개발이 완료되고 Postmen에서 테스트 Validation이 통과된것을 확인후 프론트에 배포를 하였다.
테스트 중 프론트에서 API 요청을하면 Validation오류가 도출되고 있었다.
당시 validation Code
|
|
살펴보니 API응답이 이상하다. 원했던건 items.code
였지만 items->code
로 잡히고 있던것이다.
최종적으로 수정된 코드는 다음과 같다
|
|
3차 프로젝트를 마치며
주문서 열설정이라는 기능이 셀메이트의 주기능인 주문입력이 연관되어 있어 다루기 힘든 부분이기도 했습니다. 주 기능인만큼 초창기 코드부터 데이터 구조의 케이스가 많아서 모두 분석하기에는 무리가 있었습니다. 따라서 개발을 진행하면서 예상하지 못한 케이스들이 발견이되고, 또 다시 고민하는 과정을 반복하였습니다. 비록 3차 프로젝트는 Fail로 끝났지만, 이로써 케이스를 줄여나가면서 안정적으로 배포가 되면 사용자가 더욱 편리하게 사용될것으로 보입니다.