테킷 앱스쿨 : AOS 1기 최종 프로젝트
2023.09.01 ~ 2023.09.25
- Firebase Authentication을 통한 이메일 인증 지원
- 카카오, 네이버 API를 이용한 소셜 로그인 지원
이메일 회원가입 |
카카오 로그인 |
네이버 로그인 |
---|---|---|
- Google Map API의 Places SDK를 이용해 원하는 장소 검색 시 자동완성 검색어 제공
- 등록된 장소 목록을 마커로 표시
장소 등록 |
장소 목록 |
---|---|
- Firebase Firestore Database를 이용한 실시간 채팅 구현
- 1:1 채팅 및 그룹 채팅 지원
채팅 홈 |
그룹 채팅 |
---|---|
- Firebase Cloud Messaging을 이용해 특정 사용자(토큰)에게 알림 전송
- 동행 요청 후 상대방의 수락 또는 거절 여부를 표시
알림 센터 |
---|
- 여행 카테고리 및 성별, 날짜 필터 제공
- 게시글 제목, 내용, 해시태그 검색 제공
게시글 필터 |
---|
- Firebase Firestore Database를 이용한 동행글 정보 관리
- 동행글 등록, 보기, 수정, 삭제 제공
동행글 등록 |
동행글 보기(상세) |
---|---|
문제 상황
채팅 홈 화면에서 채팅방 목록 Recycler View에 최신 채팅 내용이 갱신되지 않는 문제 발생
원인 추론
채팅 Fragment 하위 View Pager에 포함된 Recycler View가 부모 Fragment 생명주기에 종속되어 있기 때문에 하위 Fragment 생명주기에서 Recycler View를 갱신해도 변동이 없는 것으로 예상
해결 방안
- 실시간 업데이트 수신대기 리스너를 Recycler View의 아이템마다 부여
- View Pager 내부에 Fragment Container를 달아서 하위 Fragment를 전환하는 방식으로 변경
→ 2안을 채택할 경우 방대한 양의 코드를 수정해야 했기 때문에 1안으로 진행
해결 과정
실시간 업데이트 수신대기 리스너를 RecyclerView 아이템마다 부여하여 아이템 데이터에 변동이 생기면 Recycler View에 데이터 갱신 명령
→ 채팅 홈 화면에서 채팅방 별 최신 상태 반영됨
문제 상황
메인 홈 화면에서 Tab Layout과 View Pager를 함께 사용하여 내부 Fragment에 지도를 띄울 때 포커스를 이동하기 위해 좌우 스크롤 시 지도 대신 Tab Layout이 전환되고, Map View가 Scroll View의 하위에 위치하여 지도가 아닌 프레임 자체가 움직이는 문제 발생
원인 추론
화면 스크롤 시 지도가 담긴 Fragment 전체가 슬라이드 되어 하위 Map View가 움직이지 않는 것으로 예상
해결 과정
View Pager를 제거하고 Tab Layout만 사용해 Fragment를 이동하는 구조로 변경하고, Scroll View와 Map View를 분리함
→ 지도 스크롤 시 프레임이 움직이거나 탭이 전환되지 않고 정상적으로 지도 시점이 옮겨짐
- Windows 10, Android Studio 8.1(Oreo), jdk 1.8
- Figma, Github, Notion, Discord
- Language : Kotlin
- Architecture : MVVM
- BackEnd : Firebase(Firestore Database, Cloud Messaging, Authentication)
- API : Google Map, Kakao Login, Naver Login
- Library : Retrofit, Glide, Coroutine
- 2조 - E중IN격
이지은(리더) | 강현구(부리더) | 장용진 | 김민우 | 유동호 |
nueijeel |
Ganghyungoo |
YonjjinJang |
DoReMinWoo |
y-d-h |
내 정보, 설정, 동행요청 목록 화면 기능 담당 및 동행요청 푸시알림 구현 |
동행 리뷰, 채팅 화면 기능 담당 |
회원가입, 소셜 로그인 화면 기능 담당 및 버그 보완 |
메인 홈, 동행글 상세, 동행글 수정, 찜 목록 화면 기능 담당 |
동행글 목록, 동행글 등록 화면 기능 담당 및 검색 기능 구현 |