-
Notifications
You must be signed in to change notification settings - Fork 1
2차 MVP 정하기 및 백로그 작성
천일영 edited this page Dec 1, 2024
·
1 revision
- 🌟 주제 1: 이미지 관련
- 압축 / 리사이징을 어떻게 진행할까?
- 서버 업로드를 어떻게 진행할까?
- 🌟 주제 2: 실시간 퀴즈 어떤 방식으로 진행하면 좋을까?
- FCM vs FireStore
- 🌟 주제 3: 4주차 스프린트 백로그 작성
- 로그인 - firebase 로그인
- 편집 / 삭제 기능 (각자 맡은 스크린)
- 이미지 추가 → 디자인 수정하기
- 실시간 퀴즈 유형
-
주제 1: 이미지 압축 / 리사이징
- 압축 / 리사이징을 어떻게 진행할까?
- 단순 URI를 사용할 경우, 사진 owner만이 접근할 수 있음
- 파일 자체를 저장하고, 그 URI를 사용 해야 함
- firebase 용량 제한으로 압축 / 리사이징이 필요
- ✅ 결론
- 압축 → jpeg 유지, 80%
- 리사이징 → [이미지 리사이징](https://www.notion.so/29d03291ce5e44fdbb5af39aed85bc71?pvs=21) (폴링팀)
- ✅ 결론
- 서버 업로드를 어떻게 진행할까?
- ✅ 결론: firebase storage
- 압축 / 리사이징을 어떻게 진행할까?
-
주제 2: 실시간 퀴즈 어떤 방식으로 진행하면 좋을까?
-
✅ 결론: fireStore
-
각 장단점
Firestore 장점
- 실시간 동기화 -> 실시간 리스너를 통해 데이터 변경 사항을 전할 수 있다.
- 간단하다
- 데이터 상태 저장 -> 퀴즈 진행 상태(현재 문제 번호, 그룹원 응답) 저장 가능, 앱이 종료되거나 네트워크 연결 끊겨도 복구 가능 그룹장이 버튼 클릭 시 현재 문제 번호 업데이트
단점
- 사용자가 많은 그룹인 경우 실시간 데이터 동기화 하는데 시간이 많이 걸릴 수 있다.
- 그룹장이 오류 발생시 큰 문제 발생
FCM 장점
- 푸시 알림 기반 전송 (FCM 메시지를 통해 알림 전송 가능)
- 효율적 데이터 전송(최소한의 데이터 전송으로 상태 변경 알릴 수 있다)
그룹장이 다음 문제로 갈 때 그룹원들에게 FCM 메시지 전송 -> 그룹원들은 각각 자기 폰에서 FCM 메시지를 수신하여 UI를 업데이트
단점
- 메시지 수신 지연 가능성이 있다.
- 현재 상태를 저장하지 않으므로 앱이 중간에 종료되면 문제가 발생할 수 있다.
→ 이유: 둘 다 완벽한 실시간 기능을 제공하지 않음. FCM은 구현을 위한 복잡한 과정을 필요로 함 → fireStore를 활용해 간단히 구현하고자 함
-
-
안드로이드 p2p 통신 - 오후 데일리 스크럼 전까지 찾아보고 공유
-
-
주제 3: 수정 / 삭제 관련
- 내부에 컨텐츠가 있는 것을 삭제할 경우, 내부 컨텐츠도 다 같이 삭제
-
주제 3: 4주차 스프린트 백로그 작성
- 수요일까지
-
로그인 / 수정 + 삭제
이미지는 다 추가
- 로그인 / 로그아웃 + 회원가입 기능 (율)
- 스터디 수정 / 삭제 (지훈)
- 카테고리 수정 삭제 (모)
- 퀴즈 수정 삭제 (훈)
- 메인 스터디 아이템 아이콘 나가기 (천)
-
- 목요일까지
- 실시간 기능 백로그 작업
- 수요일까지
- 반복되는 build logic 어떻게 처리할 수 있을까?
- Binary Plugin / Precompiled script plugin를 적용해보기!
- layered vs clean architecture
- 문제 유형 확장 가능한 구조 설계
- module dependency 리팩토링
- compose navigation 적용하기
- Ktlint github action 적용하기
- LazyColumn/Row에서의 재사용
- LazyColumn에 대한 추가적인 고찰
- 이미지 최적화
- Coil vs Glide
- AI 문제 자동 생성
- 실시간 퀴즈 어떻게 구현하면 좋을까?
- 데이터 load를 언제 하면 좋을까?(flow? viewModel init?)
- 키보드로 다음 textField로 focus 이동처리하기
- UiState는 sealed class? sealed interface?
- basicTextField가 width에 따라 키보드에 가려지는 상황 해결
- BackPress 관리
- FireStore의 숫자 데이터 처리
- 이미지 위에 아이콘 및 텍스트가 보이지 않는 현상