본문 바로가기
도담한 Product Manager 성장기/내맘대로 분석 모음

'당근마켓 관심목록 추가' 가능의 Behind에는 어떤 일이 일어나고 있을까 [W6D1_코드스테이츠 PMB 12기]

by 도담한 2022. 6. 15.

오늘은 데이터베이스에 대해서 배웠어요!

아무래도 기술 개발 부분과 밀접하게 연관되어 있다보니 여러가지고 어려운 지점들이 많았는데요, 이 부분을 적용해서 생각해보기 위해 간단한 기능 기획의 뒷단에는 어떤 부분이 기술적으로 이루어지고 있는지 생각해보려고 합니다.

아직 조금 어려운 부분이 있어서 '당근마켓'의 관심목록 추가 기능이라는 아주 간단한 기능 바탕으로 어떻게 개발이 되었을까 고민해보았어요.

 

관심목록 추가 기능의 유저 Flow와 Flowchart

먼저, 유저가 관심 목록을 추가하려면 어떻게 행동해야 하는지 플로우를 그려봤어요.

먼저 목록에서 원하는 게시물을 선택하면 해당 페이지가 나옵니다. 만약 마음에 들어서 관심목록에 추가한다고 하면, 하단에 '하트' 버튼을 눌러 저장합니다. 하트 버튼을 누르면 하단에 팝업이 뜨는 동시에 나의 '관심목록' 페이지에도 추가한 게시물이 표시됩니다. 

 

해당 플로우를 기능적인 관점에서 내맘대로 Flowchart로 그려봤어요. 

 

클라이언트, 서버, DB는 어떻게 작동하고 있을까

 

먼저 당근마켓에 접속한 사용자의 디바이스, 즉 클라이언트에서 서버로 저장된 항목을 불러오라는 호출을 할 거 같습니다.이에 서버에서 데이터베이스에 저장된 저장된 게시글들을 불러온 다음에 클라이언트인 각 사용자의 디바이스에 출력이 될 것입니다. 그래서 사용자들은 어떤 디바이스로 확인하던 동일하게 게시물들을 확인할 수 있겠죠.

 

그리고 사용자가 각 게시물에 들어간 뒤에 '하트' 버튼을 눌러 '관심목록'에 추가한다면 이렇게 새로 변경된 데이터 정보에 대해서 클라이언트를 통해 서버로 이동하고, DB까지 가서 반영될 것이라 생각해요. DB에 반영이 된 순간, 추가되고 수정된 정보들이 나의 '관심목록' 페이지에 직접적인 연관성(?)이 생기고, 이렇게 반영된 내용을 서버를 통해 클라이언트로 전송하면 '저장한 게시물'이 나의 '관심목록' 페이지에 나타난다고 보여집니다. 클라이언트가 아니라 서버에 저장된다고 생각한 이유는, 탈퇴를 하지 않는 이상 단순히 앱을 삭제하고 다시 깔면 다시 로그인이 가능하고, 기존에 저장해둔 목록이 사라지지 않아서 볼 수 있을 거라 생각했디 때문이에요. (확인을 위해 직접 삭제해보고 싶었는데 저장해놓은 정보들이 많아서 시도는 안해봤어요 ㅎㅎ)

댓글