또 기능 개발

2024년 8월 29일 목요일

Today I Learned

날짜

2024년 8월 29일 목요일

내용

다시 또 새로운 서비스

인스타그램에서 댓글을 가져오는 서비스를 만들었다. 이걸 더 발전시키는 스프린트를 시작했다. 기존 알파플러스에 붙어있던 걸 떼내고 새로운 기능을 추가해야 한다. 단, 다음 스프린트로 진행할 네이버 스마트스토어에 들어가는 것을 고려해서 짜야 한다.

플랫폼이 늘어날 것이기 때문에 유저를 최상단 테이블로 설정했다. 이전 알파플러스를 유지보수하면서 가장 힘들었던 점은, 늘어날 걸 예상하지 못한채 짜여져있다는 점이었다. 예를 들어, 기존 프로덕트 리뷰만 있는 상태에서 AI, 리스트 디자이너, 브라우저 부스터(심지어 다른 앱)이 늘어나면서 어떤 샵이 사용중인 서비스들의 상태를 저장하기 꽤나 곤란했다. 결국은 json 타입으로 설정해서 변경에 자유롭게 해뒀지만 이 데이터를 다루는게 꽤나 거추장스러웠다. 특히 다른 앱이지만 같은 시스템을 공유하는 브라우즈부스터때는 두 개의 샵 테이블이 서로 영향을 끼치면서 발생하는 문제는 정말 골치아팠다.

그래서 이를 표기하는 별도의 테이블을 설정했다. 최상단 User 테이블과 연관되어, UsingPlatform 테이블을 두었고 이 데이터는 user_id와 platform을 값으로 가진다. 플랫폼을 나타내는 Int Enum이 저장되기 때문에 임의로 숫자만 넣으면 된다. 1이면 쇼피파이, 2면 네이버 로 설정해서 어떤 유저가 사용하는 서비스는 user_id로 데이터를 탐색하기만 하면 된다.

이 서비스도 안에서 두 갈래로 나눠지는데 인스타그램 비즈니스 계정으로 사용하는 IC와 일반 계정으로 사용하는 IF다. 기존에는 IC만 있었다가 이번 스프린트떄 IF를 추가하게 되었는데, 모든 스토어 정보가 기존 IC의 페이스북 계정과 동일한 테이블에 저장되어 있었다. IF가 매번 자신과 짝이 맞는 데이터를 찾는게 꽤나 비효율적이라고 생각이 들어 쇼피파이에서 샵정보를 받아 저장하는 ShopifyStore를 만들었다. 이제 앞으로 플랫폼에서 받아오는 정보를 원본 그대로 저장하는 테이블을 매번 최상단으로 둘 예정이다. 스토어든, 상품이든 뭐든.. 외부에서 받아오는 데이터가 어느 서비스에 종속되면 상당히 골치 아파지는걸 많이 느꼈다.

회고

기다려라 네이버