Mugip
Archived음악 태그와 장소를 중심으로 감정과 추억을 공유하는 SNS 플랫폼의 백엔드를 개발한 프로젝트
Mugip
개요
플랫폼 캐치프레이즈
태그와 사진보다 음악과 장소를 앞세워 감정과 기억을 공유하는 SNS
Mugip은 스타트업 GiftMusic 팀에서 개발한 음악 기반 SNS 플랫폼입니다. 텍스트와 사진을 앞세우는 보통의 SNS와 달리 음악과 장소를 감정 표현의 중심에 둡니다.
저장소
- 비공개 메인 저장소 : https://github.com/Gift-Music/mugip-backend
- 공개된 v1 포크 저장소 : https://github.com/bnbong/record-music-backend
서비스 아이디어
처음부터 내가 흥미를 느꼈던 부분은 "음악을 어떻게 사람의 기억과 연결할 것인가"였습니다. 아이디어 구상 단계에서 단순한 음악 공유보다 지도와 장소를 함께 엮는 형태를 제안했고, 이 방향이 초기 사업 아이디어로 이어졌습니다.
Mugip은 음악 추천 앱이 아니라
- 특정 장소와 연결된 기억
- 그 기억을 대표하는 음악
- 다른 사람의 감정 기록
을 한데 묶는 SNS를 지향했습니다.
백엔드 관점의 특징
공개된 v1 저장소 기준으로 초기 버전은 Django + MongoDB 구조였고, 이후 프로젝트 재투입 시점에는 FastAPI와 PostgreSQL이 포함된 새로운 구조를 유지보수했습니다.
한 번에 완성한 프로젝트가 아니라 기획과 기술 스택이 바뀌면서 백엔드도 같이 바뀌어 간 사례라 기억에 남습니다.
v1 설계 포인트
- 사용자 계정, 팔로우, 프로필, MusicMap 피드 API 구성
- 지도 좌표와 음악 플레이리스트를 연결하는 게시 모델
- JWT 기반 로그인/검증/리프레시 흐름
일반 SNS의 글/댓글 중심 모델과 다르게, 장소와 플레이리스트를 함께 다루는 API 형태가 필요했기 때문에 나온 설계였습니다.
기술 선택 이유
Django
초기에는 빠르게 서비스 골격을 만들고 계정/피드/관계 모델을 안정적으로 올리는 것이 중요해서 Django가 잘 맞았습니다.
이 프로젝트가 제 첫 백엔드 경험이었기 때문에, Django의 친절한 문서와 생태계가 큰 도움이 됐습니다.
MongoDB
초기 MusicMap 데이터는 구조가 계속 바뀌었고, 콘텐츠 형태도 비교적 유연하게 다루고 싶었기 때문에 문서 지향 저장소가 잘 맞았습니다.
이후 FastAPI + PostgreSQL
프로젝트가 다시 정리되면서 API 성능, 문서 자동화, 구조화된 데이터 관리 필요성이 커졌고, 그에 맞춰 기술 스택도 함께 재편됐습니다. 저는 제대 후 재투입된 시점에 이 새로운 구조의 유지보수를 맡았습니다.
역할
- 백엔드 개발
- 테스트 코드 작성
- 초기 서비스 아이디어 제안
- 이후 재투입 시 유지보수
배운 점
- 스타트업 초기 프로젝트에서는 코드보다 아이디어와 스택이 더 자주 변한다는 걸 실감했습니다.
- 음악, 장소, 감정처럼 추상적인 개념도 결국 API와 데이터 모델로 옮겨내야 합니다.
- 초기 아이디어 제안에서 끝나지 않고 백엔드 구현과 유지보수까지 직접 이어간 경험이라 더 의미가 컸습니다.