bnbongbnbong
Back to projects

Mugip

Archived

음악 태그와 장소를 중심으로 감정과 추억을 공유하는 SNS 플랫폼의 백엔드를 개발한 프로젝트

Gift-Music / MugipView on GitHub

음악 태그와 장소를 중심으로 감정과 추억을 공유하는 SNS 플랫폼의 백엔드를 개발한 프로젝트

PythonDjangoFastAPIMongoDBPostgreSQLbackend

Mugip

개요

mugip

플랫폼 캐치프레이즈

태그와 사진보다 음악과 장소를 앞세워 감정과 기억을 공유하는 SNS

Mugip은 스타트업 GiftMusic 팀에서 개발한 음악 기반 SNS 플랫폼이다. 텍스트와 사진 중심 SNS와 달리, 음악과 장소를 감정 표현의 중심 단위로 삼는다는 점이 특징이다.

저장소

서비스 아이디어

처음부터 내가 흥미를 느꼈던 부분은 "음악을 어떻게 사람의 기억과 연결할 것인가"였다. 아이디어 구상 단계에서, 단순 음악 공유보다 지도와 장소를 함께 엮는 형태를 제안했고, 이 방향이 초기 사업 아이디어로 이어졌다.

Mugip은 음악 추천 앱이 아니라

  • 특정 장소와 연결된 기억
  • 그 기억을 대표하는 음악
  • 다른 사람의 감정 기록

을 한데 묶는 SNS를 지향했다.

백엔드 관점의 특징

공개된 v1 저장소 기준으로 초기 버전은 Django + MongoDB 구조였고, 이후 프로젝트 재투입 시점에는 FastAPI와 PostgreSQL이 포함된 새로운 구조를 유지보수했다.

이 흐름이 의미 있었던 이유는, 프로젝트가 한 번에 완성된 것이 아니라 기획과 기술 스택이 바뀌면서 백엔드도 같이 진화한 사례였기 때문이다.

v1 설계 포인트

  • 사용자 계정, 팔로우, 프로필, MusicMap 피드 API 구성
  • 지도 좌표와 음악 플레이리스트를 연결하는 게시 모델
  • JWT 기반 로그인/검증/리프레시 흐름

일반 SNS의 글/댓글 중심 모델과 다르게, 장소와 플레이리스트를 함께 다루는 API 형태가 필요했기 때문에 나온 설계였다.

기술 선택 이유

Django

초기에는 빠르게 서비스 골격을 만들고 계정/피드/관계 모델을 안정적으로 올리는 것이 중요해서 Django가 잘 맞았다.

이 프로젝트가 내 첫 백엔드 경험이었기 때문에, Django의 친절한 문서와 생태계가 큰 도움이 됐다.

MongoDB

초기 MusicMap 데이터는 구조가 계속 바뀌었고, 콘텐츠 형태도 비교적 유연하게 다루고 싶었기 때문에 문서 지향 저장소가 잘 맞았다.

이후 FastAPI + PostgreSQL

프로젝트가 다시 정리되면서 API 성능, 문서 자동화, 구조화된 데이터 관리 필요성이 커졌고, 그에 맞춰 기술 스택도 함께 재편됐다. 나는 제대 후 재투입된 시점에 이 새로운 구조의 유지보수를 맡았다.

역할

  • 백엔드 개발
  • 테스트 코드 작성
  • 초기 서비스 아이디어 제안
  • 이후 재투입 시 유지보수

배운 점

  • 스타트업 초기 프로젝트는 코드보다 아이디어와 스택이 계속 변한다는 걸 실감했다.
  • 음악, 장소, 감정처럼 추상적인 개념도 결국은 API와 데이터 모델로 번역해야 한다.
  • 초기 아이디어 제안에서 끝나지 않고, 실제 백엔드 구현과 유지보수까지 이어진 경험이 의미 있었다.
PythonDjangoFastAPIMongoDBPostgreSQLbackend2020