- 게시판 + 실시간 채팅 커뮤니티 앱입니다.
- Firebase를 백엔드로 사용한 서버연동과 SwiftUI 실제 구현을 통한 학습 목적 프로젝트입니다.
- Swift 5
- SwiftUI
- Firebase
- MVVM
- Firebase
- Kingfisher
- Combine
- Kingfisher를 이용한 비동기 이미지 다운로드
- Firestore를 이용한 게시판, 채팅, 이미지 데이터 관리
- 서버 통신을 escaping Closer를 활용한 함수로 사용
- Tabbar와 Navigation을 이용한 화면 이동 구현
- Combine을 사용하여 회원가입 TextField 유효성 검사
- 여러 이미지를 동시에 가져오기 위한 비동기 처리
- 게시글을 종류별로 분류
- 채팅에서 새로운 메세지에 따라 스크롤뷰 이동
- 채팅 메세지의 상대와 나의 구별, 마지막 메세지 표시방법에 대한 Firebase 데이터 저장 방식
새로운 UI 프레임워크인 SwiftUI와 Firebase를 학습할 수 있었던 프로젝트입니다.
코드의 양이 증가함에 따라 SwiftUI의 선언적 구문의 장점을 느낄 수 있으며
MVC 패턴과 MVVM패턴 차이점과 활용방법에 대해 생각할 수 있었습니다.