근처에 있는 사람들과 실시간 소통할 수 있는 메신저 앱 "NeakTalk(근방톡)" 입니다.
개발 기간: 2022.11.07 ~ 2022.12.16
💫 근방에서 금방 만나요, 근방톡 💫
-
실시간 위치 기반으로 근처에 있는 오픈 그룹 채팅방에 입장하고, 다른 사람들과 채팅을 할 수 있습니다.
-
친구를 맺은 후, 거리에 상관 없이 개인 채팅방을 만들 수 있습니다.
S001 고병학 |
S009 김영욱 |
S013 김준영 |
S025 신동은 |
S046 임창묵 |
---|---|---|---|---|
@bengHak | @yw22 | @prestonk162 | @dongeunshin | @lymchgmk |
메인지도 화면
그룹 채팅/ DM 채팅
- 채팅방을 생성하고 메세지를 작성할 수 있습니다.
- 지도에서 입장한 채팅방에서 그룹 채팅이 가능합니다.
- 안 읽은 사람 수를 메세지마다 표시해 줍니다.
- 우 상단 버튼을 통해 채팅방 나가기를 할 수 있습니다.
채팅방 목록
- Group 채팅방과 DM 채팅방을 분리했습니다.
- 현재위치기반으로 입장 가능한 채팅방을 UI로 표시했습니다.
- 실시간으로 서버와 동기화해 새로운 메세지가 올때마다 UI를 업데이트합니다.
QR코드를 통한 친구 추가/삭제 및 채팅
- QR코드를 통하여 친구추가와 추가한 친구를 삭제할 수 있습니다.
- QR코드로 추가한 친구와 대화할수 있습니다.
애플 계정으로 회원 가입, 로그인, 회원 탈퇴
텍스트와 이미지로 프로필 등록 및 편집
- 프로필 사진은 설정 앱에서 접근을 허용한 사진만 사용 가능합니다.
다크 모드 지원
시스템 설정 (라이트) |
시스템 설정 (다크) |
다크 모드 |
라이트 모드 |
- 프레젠테이션 레이어, 도메인 레이어, 데이터 레이어로 분리된 코드로 각 레이어에서 개발한 결과물을 합칠 때 이점이 있기 때문에 도입했습니다.
- 도메인 레이어가 UI와 독립적이기 때문에 비즈니스 로직의 유닛 테스트에 용이합니다.
- MVVM에서 viewModel이 커지는 것을 use case와 repsoitory 코드로 분산할 수 있습니다.
- View와 독립적으로 개발할 수 있는 viewModel을 활용해서 유닛 테스트하기에 용이한 MVVM 패턴을 도입했습니다.
- View의 화면전환 로직을 viewController에서 분리하는 것으로 화면전환을 유연하게 할 수 있는 코디네이터 패턴을 도입했습니다.