Shopify와 자체 서비스(Spring)를 연동해서 쇼핑몰 관리 페이지를 구현

첫 번째 옵션으로, Shopify와 자체 서비스(Spring)를 연동하는 방안을 검토했습니다. Shopify는 기능적으로 강력하지만, Shopify API에 익숙해지는 데 시간이 필요하며, Shopify의 데이터베이스에 직접 접근할 수 없어 동기화 문제가 발생했습니다. 이는 오히려 관리자 페이지를 직접 구축하는 것보다 더 많은 시간이 소요될 것으로 예상되어 이 방안을 배제했습니다.

WooCommerce와 자체 서비스(Spring)를 연동해서 쇼핑몰 관리 페이지를 구현

다음으로, WooCommerce와의 통합을 고려했습니다. WooCommerce는 Shopify와 달리 자체 코드를 제공하며, 이를 통해 자체 서비스의 데이터베이스와의 연동이 가능했습니다. 하지만 WooCommerce의 코드 베이스가 상당히 크고 복잡하여, 분석과 통합에 많은 시간이 필요한 문제가 있었습니다.

Django와 자체 서비스(Spring)을 연동해서 쇼핑몰 관리 페이지를 구현

마지막으로, Django를 사용하는 방안을 모색했습니다. Django는 자체적으로 관리자 페이지를 지원하는 기능이 있어, 이를 이용할 수 있었습니다. 또한 Django의 inspectdb 명령어를 활용해, 기존 데이터베이스를 Django 모델로 손쉽게 변환할 수 있는 기능으로 관리자 페이지의 개발을 빠르게 만들 수 있었습니다. 기본적인 CRUD 기능 이외에 결제(주문 취소, 교환, 반품 등), 배송(발송 버튼 입력, 운송장 번호 입력) 등 일부 비즈니스 로직이 돌아가야 되는 API만 Spring로 만들었습니다.

Django 선택은 코코네 스쿨(가천대 창업대학)에서 강연하신 CTO 님들의 강연에서 많은 영향을 받았습니다. 코코네 스쿨에서 강연하신 이커머스 분야의 CTO들은 **초기 단계에서 구현의 단순화가 중요하다.**고 말씀해주셨습니다. (코코네 코리아) CTO 유희동 님은 "초기에는 완벽한 코드보다는 실용적이고 기능적인 관리 도구가 중요하다"라는 점을 강조하였고, 컬리 CTO 류형규님은 “구글 시트로 관리하고 api로 연동해서 관리해도 괜찮다.”라는 조언을 얻었습니다. 이런 조언들을 통해 Django를 선택하게 되었습니다.