본문 바로가기
이커머스 (E-Commerce)/자사몰

01. 진짜 쇼핑몰 구축하기

by lody.park 2024. 5. 10.

안녕하세요 로디입니다.

 

온라인 쇼핑몰(e-commerce) 사이트와 앱을 온전하게 운영해보고 싶은 욕심이 생겼습니다. 

 

하지만 온라인 쇼핑몰을 구축하기 위해서는 도메인에 대한 이해가 깔려있어야하고, 개발 인력도 필요합니다.

저는 쿠팡으로 가끔 로켓배송만 시켜봤지 내부 프로세스가 어떻게 돌아가는지도 모릅니다. 또 프로젝트는 저 혼자 진행해야하죠.

 

그래서 무작정 쇼핑몰 대행 솔루션들과 컬럼들을 리서치 해봤습니다.

찾아볼수록 생각보다 쇼핑몰 서비스를 처음부터 만드려면 그 사이즈가 만만치 않아보였습니다.

재미는 있겠으나.. 가능성이 수익성이 현저히 적은 프로젝트로 평생 백수 신분을 유지하고 싶지는 않았습니다. 

 

현재 상황에서 쇼핑몰 서비스를 개발하기 위해서는 만들어진 오픈소스를 찾아 커스텀하는게 훨씬 빠르겠다는 생각이 들었습니다.

 

오픈소스를 찾아보니 다양한 솔루션들이 있었습니다.

 

쇼핑몰 구축에 주어진 시간, 내 개발 능력, 플러그인 확장성, 제공되는 기능, 아임포트 결제 연동 지원, 인지도, api 제공등,,

종합적으로 판단하여 워드프레스 기반의 오픈소스 쇼핑몰 우커머스를 채택하였습니다. (비교 제품, 마젠토, shopify..) 

우커머스는 쇼핑몰 관리의 꽃이라 할 수 있는 CMS 가 내장되어 있었습니다.

제품등록과 회원관리등을 GUI로 편리하게 할 수 있었죠.

 

또한, 아임포트에서 우커머스 결제 플러그인을 제공해주고 있어 결제 연동도 가능하고 -> 아임포트 연동 가능

우커머스 자체에서 만들어놓은 REST API와 잘 작성된 명세서가 마음에 들었습니다  -> rest api 제공된다..

iOS 앱 개발자인 제가 앱 개발 하는데에 시간을 덜 뺏기면서 쇼핑몰 서비스를 운영할 최선의 선택이라고 판단했습니다.

 

우커머스는 다른 솔루션에 비해 몇가지 단점이 있었습니다.

우선 호스팅을 직접해야합니다. 보안을 위해 SSL 인증서를 직접 붙여야하고, 데이터 관리도 직접해야합니다.

 

우커머스를 채택하고 어떻게 호스팅 할지 고민을 해봤습니다.

우커머스는 워드프레스의 플러그인으로 제공되는 솔루션입니다.

따라서 워드프레스를 호스팅해야하는데, 이 때 데이터 관리를 위한 DBMS도 연결해줘야 했습니다.

즉, 워드프레스와 DBMS를 함께 운영해야했습니다.

 

운영 방식에 대한 의식의 흐름은 이랬습니다.

 

- local 환경 :

앱 개발은 주로 노트북에서 이뤄지고, 시뮬레이터를 통해 노트북 네트워크 내에서 테스팅이 가능하므로, 간단하게 구성했습니다. 

docker-compose로 워드프레스와 mysql 각 각을 컨테이너로 함께 운영하고 있습니다.

 

- dev 환경:

dev환경은 이미 ssl인증서와 도메인이 연결된 홈 서버에 구성하려합니다.

이전에 재미로 만들어놓은 라즈베리파이 클러스터가 있습니다. 라즈베리파이4 4대 정도를 k3s를 이용해 운영하였는데, 4대 모두 8gb ram과 성능 좋은 sdd로 구성해둬 하드웨어 스펙상 AWS free tier 보다는 우수한 퍼포먼스를 보일 수 있을것이라 생각합니다.

 

- prod 환경:

아직 prod를 고려할 단계는 아니지만, 다행히 저에게는 이전에 네이버 클라우드에서 대회 상금으로 받은 크레딧이 있습니다. 

네이버클라우드에는 SSL인증서 발급, ALB등 서버 운영에 필요한 인프라가 잘 갖춰져있어 겸사겸사 여기에 구성하면 될 것 같습니다.

 

+ 소셜 로그인.. 

추후 소셜로그인 기능 확장까지 고려하여, 확장 가능성을 확인했습니다.

워드프레스에는 굉장히 많은 플러그인들이 제공되고 있었습니다.

다만 유료로 제공되는 솔루션들이라 다른 방법으로 확장가능한지 추가적으로 확인이 필요해보입니다.

 

 

local 환경에서 운영중인 테스트용 e커머스 웹 사이트입니다. 무리 없이 잘 돌아가고 있습니다.

이제 우커머스 API를 연동하여 앱을 개발하면 됩니다 ㅎㅎ

 

오늘은 여기까지...

 

+ LEMP 스택..
워드프레스 진영에서 주로 언급되는 기술 스택 조합인가봅니다.
dev 환경 구성시에 참고해야겠습니다.

https://techplay.blog/%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90%EC%84%9C-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4wordpress%EB%A5%BC-%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-lemp/

불러오는 중입니다...

 

+ 앱 개발 

제가 세운 계획으로는 관리자용과 고객용 쇼핑몰 앱을 각 각 만드는 것인데, 기본적인 UI 컴포넌트와 에셋, 네트워크, 유틸리티등은 각 앱이 공통적으로 사용하려고 합니다.

 

공통적으로 사용하는 기본적인 UI 컴포넌트는 베이스는 SwiftUI 로 만들고 필요에 따라 UIKit을 차용하려고 합니다.

관리자용앱은 SwiftUI와 Combine + TCA 의 조합으로 개발하고,

고객용앱은 UIKit과 RxSwift + ReactorKit 조합으로 개발하려고 합니다.

 

공통적으로 사용하는 패키지들이 조금 있고, 프로젝트 단위가 커지니 빌드 시간, 파일 관리에 어려움이 생기네요, 주말 하루 정도를 투자해서 Tuist나 SwiftGen으로 전환해봐야겠습니다.

 

 

읽어볼만한 칼럼:

https://tech.kijepark.com/super-social-proof-for-shopify/

 

Super Social Proof for Shopify 기획부터 개발, 출시까지

안녕하세요 기제입니다. 이번에 Shopify 앱인  Super Social Proof에 대한 기획부터 개발까지의 과정을 설명 하고자 합니다. Shopify, BigCommerce등 E-commerce platform의 앱스토어 앱 런칭에 관심이 있는 분들께

tech.kijepark.com