| Version | Build | Minimum iOS | Bundle ID |
|---|---|---|---|
| 1.2.1 | 37 | iOS 16.6 | com.killingpoint.killingpart |
많은 사람들이 음악을 들을 때 특정 부분에 강하게 매료됩니다. 그 순간의 감동과 추억을 간직하고 싶지만, 기존의 방법으로는 그 순간을 제대로 기록하고 기억하기 어려웠습니다. KillingPart는 가장 기억에 남는 순간을 기억할 수 있는 장치를 제공합니다.
기존 음악 공유 서비스들은 대부분 노래 전체를 공유합니다. 부분 공유가 가능하더라도 핵심 기능은 아니었습니다. 우리는 음악의 특정 킬링 파트만을 정확하게 공유할 수 있는 서비스가 필요하다고 생각했습니다.
우리는 음악을 주제로 사람들이 자신의 흥미와 관심사를 공유하고 싶어 하는 심리를 고려했습니다. 단순히 음악을 공유하는 것을 넘어, 그 순간의 감정과 이야기를 곁들여 더 풍부한 경험을 나눌 수 있는 공간이 필요했습니다.
프로젝트는 세 가지 단계로 나누어 개발되었습니다:
- Phase 01, "나" (나의 경험): 킬링파트 검색 및 저장, 코멘트 작성, 플레이리스트 듣기, 나의 컬렉션 생성, 캘린더 형태로 킬링파트 기록 보기
- Phase 02, "너" (너와의 공유): 친구 킬링파트 듣기, 친구 코멘트 읽기
- Phase 03, "우리" (우리 모두의 공간): 무제한 킬링파트 숏폼, 프로필 설정
- Spotify / iTunes 기반 음악 검색 및 추가
- YouTube 영상 검색 및 재생 구간 선택
- 음악과 함께 감정과 추억을 기록하는 다이어리 작성
- 앨범 커버와 함께 다이어리 저장
- 캘린더를 통한 다이어리 날짜별 조회
- 컬렉션을 통한 내 다이어리 모아보기
- 다이어리 상세 보기 및 수정
- 친구들의 다이어리 피드 확인
- 좋아요 및 댓글 기능
- 친구 프로필/컬렉션 조회
- 다이어리 신고 기능
- 푸시 알림 기반 소셜 이벤트 확인
- 카카오 / 구글 / Apple 소셜 로그인
- 프로필 이미지 및 태그 관리
- 알림 설정 및 차단 목록 관리
| 스택 | 설명 | 용도 |
|---|---|---|
| SwiftUI | 선언적 UI 프레임워크 | 전체 UI 구성 |
| URLSession + Custom APIClient | HTTP 통신 레이어 | REST API 통신 |
| Firebase Messaging | 푸시 알림 | FCM 토큰 등록 및 알림 처리 |
| Kakao / Google / Apple Auth | 소셜 로그인 SDK | 사용자 인증 |
| WebKit (WKWebView) | YouTube 임베드 재생 | 킬링파트 구간 재생 |
| AVFoundation | 앱 내 영상 재생 | 로그인/스플래시 영상 처리 |
| UserDefaults 기반 TokenStore | 로컬 세션 저장 | 토큰 저장/조회 |
| MVVM + Service Layer | 화면/비즈니스 분리 | 유지보수성과 테스트 용이성 확보 |
KillingPart/
├── Models/ # 데이터 모델
├── Services/ # API/인증/알림/미디어 서비스
├── ViewModels/ # 화면 상태 및 비즈니스 로직
├── Views/
│ ├── Components/ # 공통 컴포넌트
│ └── Screens/ # 기능별 화면
│ ├── Splash/
│ ├── Onboarding/
│ ├── Auth/
│ ├── Setup/
│ └── Main/
├── Resources/
│ ├── Colors/
│ ├── Fonts/
│ └── Videos/
├── Extensions/
├── Utils/
└── KillingPartApp.swift