안녕하세요. 일본에서 백엔드 엔지니어로 일하고 있습니다. 2024년도에 들어와서 아는 지인이 새로운 프로덕트를 만들고 싶다는 말에 부업으로 개발에 참가하고 있습니다. 앞으로 조금이나마 어떤 서비스를 만들고 있고 고민했던 내용들을 정리해나아가보고자 이 글을 작성하였습니다.
개요
먼저 사전지식으로 프로덕트 초기에서는 회원등록을 하고 커뮤니티에 가입을 한 유저만 이벤트가 열람이 가능하도록 정의하고 개발하였습니다. 도중에 이벤트 화면은 회원등록을 하지 않더라도 볼 수 있도록 변경해줬으면 좋겠다 라는 요구사항이 왔습니다. 그래서 회원등록을 하고 커뮤니티에 가입해야만 확인할 수 있던 이벤트 페이지를 전체 유저가 볼 수 있도록 수정하였습니다.
왜 수정하였는가?
이유는 이벤트 정보를 누구라도 볼 수 있게 하고 이벤트에 참가하고 싶으면 회원가입을 함으로서 사이트에 방문했을 때 회원가입이 없더라도 사이트를 볼 수 있도록 하기 위함이었습니다. 현재 사양의 문제점으로서는 사이트를 방문했을 때 회원등록을 할 필요가 있었고, 굳이 이벤트를 보고 싶다는 강한 이유가 없더라면 사이트에 방문할 필요가 없었기에 이 문제점을 해결하기 위해서였습니다.
개발 과정
개발하기 위한 과제
개발에 앞서 과제는 2가지가 있었습니다.
- 회원이 되어야만 사이트를 볼 수 있게 설계를 했기 때문에 DB구조를 고려할 필요가 있었다
- 앞으로 열람이 가능한 유저의 범위가 매우 넓어지기 때문에 UI, UX에 대한 고려가 필요했다.
1. 회원이 되어야만 사이트를 볼 수 있게 설계를 했기 때문에 DB구조를 고려할 필요가 있었다
이벤트를 열람하기 위해서는 아래와 같이 가입이 필요했습니다.
회원가입 → 커뮤니티 가입 → 이벤트열람
따라서 이벤트를 모두가 보기위해서는 이러한 제약을 없애는 것이 필요하였습니다.
어떻게 해결하였는가?
커뮤니티 멤버에 visitor enum을 추가 하였습니다. 멤버가 이벤트에 참가등록을 하면 자연스럽게 커뮤니티에 방문자가 되고
정식 멤버가 되기 위해서는 커뮤니티 오너가 변경할 수 있도록 수정하였습니다.
더 좋은 방법이 없었는가?
좋은 방법도 있었습니다. 현재 모든 테이블들이 커뮤니티 멤버에 연결이 되어있습니다.
멤버에 연결되어있는 테이블을 회원 테이블로 연결한다면 굳이 멤버에 가입하지 않고도 이벤트에 참가가가능하게 됩니다.
이 방법으로 진행하고 싶었지만 빠르게 개발을 진행해야 하는 스타트업인 만큼 이방법은 아직 채택하지 않고 진행하고 있습니다.
그러나 언젠가는 테이블 재설꼐를 해야할 타이밍이 올 것 같다. 언젠간 진행하고 싶습니다.
2. 앞으로 열람이 가능한 유저의 범위가 매우 넓어지기 때문에 UI, UX에 대한 고려가 필요했다.
현재 아직 많은 기능들이 개발되어 있지 않기 때문에 전체 공개를 하는 경우 이벤트 참가나 커뮤니티 참가 하기에 너무 불편한 UX가 되어있었습니다.
어떻게 해결하였는가?
MVP형식으로 정말 필요한 최소단위에 Flow를 개발해 제공했습니다. 최소한으로 이동경로를 개발해놓고 점차적으로 개발해나가려고 하고있습니다.
더 좋은 방법은 없었는가?
UI, UX에 대해서는 더 좋은 방법이 많이 있었지만 현재 프론트 엔드를 담당하는 엔지니어가 없고 UI, UX에 대해 깊게 고민하지 못하고 있기 때문에 이부분은 조만간 깊게 고민해 나갈 예정입니다.
앞으로의 과제
앞으로 너무나 많은 과제가 있지만 눈 앞에 있는 과제는 2가지 인 것 같습니다.
- DB설계가 복작하게 되었기 때문에 개발에 복잡도가 증가했다.
- UI, UX, CX에 대한 부분을 앞으로 더 정교하게 정리해나갈 필요가 있다.
개발일기에 대한 첫번 째 글을 작성해보았습니다. 글만 있어서 생략된 부분도 많고 더 다듬어야 할 부분도 많을 것 같은데요.
글을 써내려가면서 개발적인 부분, 프로덕트 그로스 해킹에 대한 부분들을 조금씩 써내려가보려고 합니다.
긴글 읽어주셔서 감사합니다!