본문 바로가기
[피터] 창업가_IT

Bubble.io 노코드 툴 - 36일차- (회사업무에 노코드 적용하기 -1-)

by Rulemakers 2022. 11. 14.

회사 업무와 무관하게 개인적으로 노코드 툴을 배우고 미니스톤즈(ministones)라는 서비스를 만들고 있는 중이다.

그런데 근래 회사 업무와 관련하여 간략하게 노코드 서비스를 만들어야 할 필요가 생겨, 부득이 미니스톤즈 서비스와 병행하여 서비스를 만들어 가고자 한다.

 

노코드 - 미니스톤즈

노코드 - 회사업무 관련

벨류에이션 

 

총 3개의 글을 체계없이 올리고 있는 것이 마음에 걸리지만 그래도 기록을 남겨보고자 적기 시작한다.

---

1. 회사업무 소개

(간략히 지금 만드려는 서비스가 무엇인지, 어떤 목적에서 어떤 기능의 서비스를 만들고자 하는지 소개한다. 아직 서비스 출시 전이다보니 자세한 배경 설명을 하지 못하겠지만 현재 만드는 툴은 서비스의 보조적인 역할을 하는 단순한 기능에 가깝다고 생각되어 기록한다.)

 

현재 본인은 모빌리티 회사에 재직 중이고, 쏘카를 비롯한 몇몇 타 업체에서 사업 규모를 키워가려는 월 렌터카를 타겟으로 신규 서비스를 준비 중에 있다. 재직 중인 회사의 강점은, 이미 1,000개의 중소형 렌터카 업체들, 10만 여대의 차량 정보가 연동되어 있는 ERP 시스템이 존재한다는 것이다.

 

그러나 ERP에 있는 대부분의 정보들은 일 단위 렌터카 정보들로, 현재 준비 중인 월 렌터카와는 조금 다른 정보들이다. (업계 표현으로 말하자면 일반단기, 보험대차=사고대차 영역에 해당하는 정보들) 따라서, 협력업체들의 차량을 월 렌터카에 맞게 세팅하기 위해서는, (1) 현재 업체들에 기존 ERP 시스템에 월 렌터카 관련 정보를 올려달라고 직접 요청하거나, (2) 기존 ERP와 별도 채널을 통해 참여 희망업체들이 월 렌터카 정보를 올릴 수 있도록 해야한다. 

 

그러나 (1) ERP 업데이트 요청방식 으로 진행하기에는, 현재 ERP 입력 폼의 '월 렌터카' 관련 필드들이 우리가 진행하려는 필드에 딱 맞지 않아 별도의 마이너한 개발 수정이 필요하며, (2) 구글폼 등 별도 채널을 통해 업데이트 받는 방식 으로 진행하기에는, 업데이트에 필요한 사용성이 좋지 않다. (여기서 의도하는 사용성의 편리함이란 조금 여러가지 의미를 담고 있는데, 이 부분은 서비스 구현 과정에서 하나씩 그 의도를 설명하고자 한다.) 이러한 이유로 (1), (2) 방식을 포기하고 본인의 의도를 담은 신규 서비스를 만들기로 하였다.

 

2. 서비스(솔루션) 목적과 기능 소개

(현재는 일반적인 서비스가 아닌 특정 기능을 하는 솔루션에 가깝다. 현재 만드려는 것은 신규 서비스의 원활한 운영을 도와줄 툴에 가깝다.)

 

월간내차는 3년 이상 5년 미만의 중고차를 타겟으로 하는 월렌트 전문 서비스이다.

일반적인 렌트카(카카오렌터카, 카모아, 제주패스 등)들은 1년~2년된 신차급 렌트카가 운용되며, 공급과 수요가 많은 만큼 많은 거래가 발생되다보니 소위 '시장가격'이라는게 형성된다. 그에 반해 3년 이상 5년 미만 중고 렌트카는 공급도 제한적이거니와, 수요도 흔치않다. 공급 관점에서는 대부분 3년 이상 렌트카를 운용하기보다 매각하는 경우가 많다. (1) 자동차 할부 기간이 모두 완료되어 매각 후 목돈을 얻어 자금 회전을 위함, (2) 신차 대비 시장에서 경쟁력이 떨어진다는 인식, (3) 감가 및 유지보수 비용이 많이 든다는 인식, (4) 특히 월 렌트로 배차하는 경우 고객들이 단기 차량보다 차를 험하게 모는 경우가 있어 차량 손상이 잦음 등등의 이유 때문이다. *이러한 인식들은 월간내차가 공급자 편에서 극복해가야하는 과제이며, 월간내차의 차별화 포인트가 존재하는 이유이기도 하다.

 

상황이 이렇다보니 3년~5년 사이의 중고 렌트카에는 적정 가격이라는게 없다.

예를 들어 아반떼 AD 모델을 보면 16년식부터 19년식까지 다양한 연식이 존재하고 상품성도 자연히 다르겠지만 렌트 비용은 거의 비슷하다. '아반떼 AD 퉁쳐서 xx만원' 이런 형태이지 '16년식은 19년식보다 오래됐으니까 가격표에 따라서 yy가격이다'라는 인식이 많지 않다. 또한 지역별로, 업체별로 3년 이상된 차량 공급이 천차만별이다보니 지역/ 업체에 따라 중고 렌트 가격이 다르다.

 

때문에 협력 업체들을 직접적으로 컨택하여 연식별 가격 시트를 받아야 한다.

가장 좋은 방법은 기존에 존재하는 ERP에 직접 입력해주는 것. 그 다음 대안은 엑셀시트로 입력 받는 것 또는 구글 폼이나 타입 폼 같은 형태로 값을 입력받는 경우가 있다. 그러나 이 모든 절차가, 연식별 가격을 설정하기에는 지나치게 번거로울 수 있다고 생각되며 월간내차의 절차 설명, 정책 동의 받기 등의 커스터마이징도 어렵다고 판단되었다. 

 

그래서 내가 생각하는 가장 적합한 방법으로 '업체별 중고 렌트카 정보를 받기 위해' 이번 툴을 만들었다.

 

툴 상위 기획

기본적인 DB구조 (서비스 개발과정에서 다소 변경된 부분도 있다.)

ㄴ 가장 큰 차이는 car_list과 price_list를 다르게 세팅했다는 것

 

업체가 차량을 등록할 때 연식별 입금가를 혼동없이 작성하도록 하기 위해서는, 해당 서브모델(예: 아반떼 AD)의 연식 range를 제시해주어야 한다. 예를 들어 아반떼 AD는 16년식부터 19년식까지 있는데, 업체에게 20년식의 AD 입금가 input field를 제시할 필요는 없기 때문이다.

아래는 car_list에서 각 서브모델별로 연식 존재여부를 boolean (y/n)로 사전에 표기해 놓은 표.

----

위 기획을 하는데 약 4시간 정도가 걸렸다. 이제 기획안을 바탕으로 하나씩 버블에 페이지를 구현해본다.

 

서비스 구현의 순서는 먼저 DB구조를 잡아놓고, 이후에 Layout을 펼쳐 놓는다.

그리고 위에서부터 하나씩 워크플로우를 만들어간다. 모든 단계들은 [저장 후 다음단계 이동] 버튼을 클릭 시에 나타나도록 하여, 렌트카 업체 담당자가 입력해야할 field를 최소한으로 유지한다.

월간내차 정책을 소개하고 동의를 받는 페이지는 별도로 구현하였다.

-----

위 layout을 잡아놓고 실제 구현을 하며 가장 막혔던 부분 (= 가장 많이 배운 부분)은 바로 [2단계] 부분이다.

이 부분에서는 렌트카 업체 사용자가, 월간내차에 등록할 차량을 선택(check)해야 하며 checked 된 차량 리스트는 company_user의 car_list 부분에 쌓여야 한다. (모닝을 checked 하면 모닝의 3가지 서브 모델이 company_user의 car_list로 추가되어야 하며, 다시 unchecked 하게 되면 다시 car_list에서 제거되어야 한다.) 이 부분에서 custom state 개념을 사용하였다.

 

이전까지는 custom state를 yes/no 로만 설정하여 edit mode, read only mode를 mark하는 형태로 사용하였는데, 이번에는 custome state을 list type으로 설정하였다. 사용자가 checked 할 때마다 checked 된 car_list의 값을 custome state (list type)에 저장해두고, 사용자가 [저장 후 다음단계 이동] 버튼을 누르면 custom state (list type)에 저장해놓은 car_list item들을 company_user's list of car_lists 에 저장하였다.

 

이렇게 저장된 company_user's car_lists 들은, [3단계]에서 차량별 입금가를 선택하는 과정에서 load 될 예정이다.

(이렇게 구현한 이유는, 렌트카 업체에서 굳이 없는 차량들의 입금가 field를 보지 않도록 하기 위함이다. 예를 들어, 렌트카 업체에 모닝과 아반떼만 있다면, checked된 모닝과 아반떼만 [3단계]로 보내서 입금가를 입력하도록 하는 방식으로 구현하고자 함.)

 

아래 알록달록한 워크플로우 화면 (현재 2단계까지 구현 완료함)은 다음 두 가지의 기능을 담고 있다.

파란색 = checked 되었을 때 checked 된 모델(예: 모닝)의 서브모델 (예: 더 뉴 모닝(2세대), 올 뉴 모닝(3세대), 모닝 어반(4세대))들을 'Selected_2단계'라는 custom_state(list type) 에 추가하는 행동

빨간색 = unchecked 되었을 때, 'Selected_2단계'에서 unchecked된 서브모델들을 삭제하는 행동

------

현재까지 구현된 모습을 영상으로 녹화해보았다.

가장 위에 있는 Youtube 영상 링크에는, 렌터카 업체 대표님들께 드리는 인사 영상을 녹화하여 재생할 예정임.

 

댓글