데모 사이트 제작

2023년 12월 11일 월요일

Today I Learned

날짜

2023년 12월 11일 월요일

내용

구현 방향

데모용 어드민 페이지를 들어갈 때 로그인이 없어야 한다. 우리 서비스를 경험해 보고 싶은 사람에게 제공되는 기능이기 때문이다. 그 외의 것들은 우리 서비스와 동일해야 한다. 따라서 특정 쇼핑몰을 데모용 쇼핑몰로 만들고, 데모 로그인은 그 쇼핑몰로 접속하는 것을 의미한다고 판단했다.

로그인 로직을 아예 없앨지, 서버가 알아서 처리해주도록 할지가 고민되었다. 우선 알파리뷰 어드민 페이지로 접속하는 로직을 파악하기로 했다. 간단히 말하면, Shopify에서 unique 하게 설정하는 여러 값들이 존재한다. 내가 데모 로그인을 요청하는 유저의 verification을 대신 해주기엔 너무 복잡했다.. 따라서 기존 유저가 해야할 일을 내가 대신하는 방향으로 계획을 잡았다.

유저는 원하는 계정 정보, 즉 올바른 ID와 Password를 입력해야 한다. 이를 내가 대신해주면 된다고 판단했다. 이 ID와 Password는 데모 쇼핑몰의 것이고 이를 환경변수를 통해 관리해주면 되겠다고 생각했다.

실질적인 효율성

데모 버전에 로그인할 때, 기존의 로그인 함수를 이용할 지 새로운 함수를 만들 지 고민되었다. adminLogin의 payload 에는 demo가 없다. 만약 새로 만들어준다면, adminLogin이 사용되는 곳을 모두 테스트 해봐야 한다. 온보딩이나 슈퍼관리자 쪽에서도 관련된 코드들이 존재하기 떄문이다. 설령 내가 확인한다고 하더라도 예상치 못한 오류가 발생할 수 있다고 판단했기 떄문에, 새로 demo를 위한 로그인을 만들었다.

기존 로그인과 로직상 큰 차이가 없기 떄문에 만드는데 크게 어렵지 않았다. 서버에 호출하는 엔드포인트만 다르게 해주었다. 그렇다면 따로 payload나 param으로 데모임을 표시할 필요가 없었다. 새로운 함수를 만드는 것이 더 귀찮은 일처럼 생각했지만, 실제로는 훨씬 간단했다.

회고

뭔가 쉬운 듯 하면서도, 이것 저것 생각할 것이 꽤 많은 Task다. 새로 만든 demo용 쇼핑몰을 위한 계정에 테스트를 하고 싶었는데, local 개발 환경에 이 계정과 shop을 가져오는 게 어려워서 우선은, 현재 존재하는 계정과 shop을 이용하기로 했다…

구체적인 방향성을 잡지 못하니 많이 답답하고 재미없다. 빨리 견적을 뽑을 줄 아는 눈을 지녀야겠다.