-
Notifications
You must be signed in to change notification settings - Fork 0
Week1 ‐ 10월 30일
Ju YunGyeom edited this page Nov 1, 2024
·
1 revision
스플래시 ✅
- 스플래시 - 초기 설정(최초실행)
- 랜덤 닉네임
- 랜덤 프로필 이미지
- UUID 부여 및 로컬 저장
- 스플래시 - 유저 정보 불러오기
- 로컬 UUID 불러오기
- Firebase UUID 존재 여부 확인
- O - Firebase 에서 유저 정보 불러오기
- X - Firebase 새 유저 생성
- 스플래시 - 위치 권한 설정
- 거부 시 앱 실행 불가
- 스플래시 - 알림 권한 설정
- 백그라운드 알림 권한 설정
메인 지도 ✅
- 메인 지도 - 네이버 지도 API 연결
- 네이버 지도 뷰 생성
- 다크모드 테스트
- 메인 지도 - 바텀 네비게이션
- 좋아요한 픽 화면 이동
- 음악 등록하는 화면 이동, 현재 위치정보 전달
- 유저 정보(본인) 화면으로 이동
- 메인 지도 - 내 위치 표시
- 지도 화면 시작 시 화면 중앙에 내 위치 표시
- 내 위치 주변 n미터 반경 표시
- 메인 지도 - 마커 정보 불러오기
- Firebase에서 내 위치 기준 반경 n미터에 등록된 음악 정보 불러오기(음악정보 포함 내용 : 곡정보, 위치정보)
- 불러온 범위 내 음악정보를 마커로 표시
- 유저 화면 범위가 일정 크기 이상 일시 마커 클러스터링 적용
- 메인 지도 - 주변 마커 알림
- 메인 지도 - 마커 클릭 시 음악 정보화면으로 이동
- 제목, 가수, 앨범 커버, 내 위치와의 거리 포함된 인포윈도우 표시 - 디자인해야함
- 메인 지도 - 인포윈도우
- 본인이 등록한 픽일 경우, 음악정보 - 본인 화면으로 이동
- 타인이 등록한 픽일 경우, 음악정보 - 타인 화면으로 이동
음악 검색 ✅
- 음악 등록 - 음악 검색 (Epic)
- 음악 등록 - 초기 화면에 Hot 리스트 표시 (*대체: 최근 등록된 노래들)
- 스포티파이 OAuth 설정
- 레트로핏 인터페이스 정의
- Hot 노래 10개 받아오기
- 음악 등록 - 검색 결과 표시
- 검색 API 요청 테스트
- 검색 API 요청 결과 표시
- 음악 등록 - 음악 선택 시 등록 화면으로 이동
음악등록 ✅
- 음악 등록 - 음악 등록 화면 UI
- 공통 컴포넌트 상단바 UI 사용
- 한마디 입력 UI
- 음악 등록 - Firebase에 곡 정보, 유저 정보, 한마디, 현재위치, 좋아요 수 등록
- Firebase에 음악정보 등록
- 음악 등록 - 정보 불러오기
- 스포티파이API 곡 정보 불러오기
- 파이어베이스 유저정보 불러오기
- 음악정보(곡정보+유저정보+현재위치+현재시간+코멘트+좋아요(초기값0) ) 담은 데이터 클래스 정의픽 정보
픽 정보 ✅
- 픽 정보 - UI 구현
- 공통 컴포넌트 상단바 UI 사용
- 뒤로 가기 버튼
- 제목
- 옵션: 본인 - 삭제 버튼, 타인 - 좋아요 버튼
- 음악 상세 정보(곡명, 앨범, 가수), 한마디, 픽 정보(날짜, 날씨, 좋아요 수)
- 공통 컴포넌트 상단바 UI 사용
- 픽 정보 - 픽 삭제 기능
- 삭제 옵션 버튼 생성
- Firebase에 등록된 픽 삭제
- 픽 정보 - 좋아요 기능
- 좋아요 옵션 버튼 생성
- Firebase의 픽 정보에 좋아요 수 수정
- 픽 정보 - 픽 정보 확인
- 타인의 픽일 경우 Firebase에서 좋아요 여부 불러오기
- Firebase에서 한마디, 픽 정보(날짜, 날씨, 좋아요 수)
- Spotify에서 음악 상세 정보 불러오기
- 픽 정보 - 상단, 재생 버튼 색상
- 배경 Dynamic color 적용(앨범에서 색상을 뽑아 그라데이션)
- 재생버튼 Dynamic color 적용
- 픽 정보 - 재생 버튼 클릭 시 외부 앱으로 이동
유저 정보 ✅
- 유저 정보 - UI 구현
- 닉네임
- 프로필 이미지
- Pick 탭(좋아요한 픽, 등록한 픽)
- 본인인 경우 - Setting 탭(설정)
- 유저 정보 - Firebase에서 닉네임, 프로필 이미지 불러오기
- 유저 정보 - 화면 연결
- 좋아요한 픽
- 등록한 픽
- 설정
좋아요한 픽 ✅
- 좋아요한 픽 - Firebase에서 좋아요한 픽 불러오기
- 좋아요한 픽 - 픽 목록 아이템 클릭 시 픽 정보로 연결
등록한 픽 ✅
- 등록한 픽 - Firebase에서 등록한 픽 불러오기
- 등록한 픽 - 픽 목록 아이템 클릭 시 픽 정보로 연결
설정 ✅
- 설정 - 닉네임 변경
- 설정 - 알림 on/off
- 설정 - 이용약관
- 설정 - 개인정보 처리 방침
- 설정 - 라이센스
알림 - 논의 중
프로젝트 기반설정
- 프로젝트 생성
- 모듈화
- app domain data(remote local)
- Hilt
- 네트워크 설정
- api 연동
- spotify
- firebase
- naver map sdk
- 테마 색상
- 음악 정보 및 등록 - 상단바 UI
- 뒤로 가기 버튼
- 제목
- 옵션
- CI
- github actions
- ktlint
- build
- test
- github actions
ex) 30분마다 알림
- 1km(구현하며 거리 조정) 이동 시 주변에 픽이 존재하면 Notification 띄우기
- 1개: 주변에 NewJeans - Ditto 발견!
- 2개 이상: 주변에 NewJeans - Ditto 외 n개 발견!
- 30분 마다 firebase : workmanager 현재 위치
- firebase 이전 사용자 위치 - 현재 위치: 거리
- 거리가 1km 변경 되었으면 이때 알림 (주변 픽) → firebase 내용 변경
네비게이션과 유사하게!
백그라운드 상태에는?
3번 방법 - 지도의 가운데 버튼을 눌러서 알림을 켜고 끌 수 있도록 결정
음악 차트를 받아올 수 있는 api가 있는가?
- 스포티파이
- 애플뮤직
- 강민주 - 알림, 마커 클러스터링
- 주윤겸 - TTS, 영상 재생, android auto
- 김승규 - 미디어 음악재생, 근처 핀 UI통한 알림, 클러스터링
- 김희준 - 좋아요 동시성 제어, 외부 핀 UI 알림
- 음원 재생 - 기술 검토 및 기획
- ExoPlayer로 음원재생하기
- Visualizer + Compose 오디오 시각화
- 백그라운드 플레이어(1) - MediaSession
- 백그라운드 플레이어(2) - Notification
- 백그라운드 플레이어(3) - MediaService모듈
- 백그라운드 플레이어(4) - 구현
- 1. 영상 재생 - 기술 검토 및 기획
- 2. 뮤직비디오 정보 가져오기
- 3. Swipe 제스처로 자연스럽게 영상 재생하기
- 4. 뮤직비디오 오버레이와 컨트롤러 구현
- 5. 화면 회전 시 플레이어 상태 유지하기
- 6. 사용자의 눈에 잘 띄도록! 뮤직비디오 UX 개선
- 모든 버전에 대응하는 Splash 화면
- 동적으로 색상이 변경되는 그라데이션 배경화면
- 반응형으로 만드는 InfoWindow UI
- Paging을 사용해 검색 결과 무한 스크롤
- CloudFunction 사용하기
- Firestore vs RealtimeDB 비교
- Coil vs Glide 비교
- GeoFire와 GeoHash를 이용한 Firebase 위치 데이터 쿼리
- NavBackStackEntry와 컴포즈에서의 ViewModel 공유
- CompositionLocal
- viewModel()과 hiltViewModel()
- FocusRequester
- debounce와 sample