- 앱 이름: 찾아줄개
- 목표 : 반려동물을 찾아주는 서비스
- 기간 : 10.10 ~ 11.17
- 상태 : 배포 중 / https://apps.apple.com/kr/app/%EC%B0%BE%EC%95%84%EC%A4%84%EA%B0%9C/id6471409178
- 팀 소개
- 전상혁(리더)
- 이우준(부리더)
- 김하림(팀원)
- 전종혁(팀원)
- 이리연(팀원)
반려동물을 일어버리셨나요? 혹은 길 잃은 반려동물을 찾으셨나요?
"찾아줄개" 커뮤니티 앱을 통해 반려동물을 찾아보세요!
반려동물을 잃어버렸을 때 글을 작성하실 수 있으며, 길을 가다가 길 잃은 반려동물을 발견했을 때 사진 촬영 한 번으로 손 쉽게 글을 작성하실 수 있습니다.
"위치 기반 서비스" 를 이용하여 사용자 위치 주변의 잃어버린 반려동물, 길 잃은 반려동물들의 글들을 지도를 통해 쉽게 확인해 볼 수 있습니다. 잃어버린 반려동물, 발견한 길 잃은 반려동물 게시글들을 각 게시판에서 리스트로 확인해볼 수 있으며, 사용자의 위치에서 거리에 따른 기능 및 날짜 선택을 통해 언제부터 어디까지 작성된 글들을 필터 기능을 통해 원하시는 정보들도 보실 수 있습니다.
본인의 페이지에서 본인이 작성한 게시글들 및 닉네임, 프로필 이미지를 수정할 수 있으며, 로그아웃 및 회원탈퇴 기능들도 준비되어 있습니다.
- SnapKit
- 효율적으로 포르젝트를 진행하기 위해 SnapKit을 채택해 전보다 코드량을 확실히 줄였습니다.
- MapKit, Core Location
- 프로젝트에서 유저의 위치정보를 통해 Map을 활용하여 Mark(핀)을 보여주는 것이 **'주'**기능이기 떄문에 채택하였습니다.
- Kingfisher
- Firebase에 Image가 url 방시긍로 저장되기 때문에 이미지 파일을 다운로드 및 캐싱을 자동적으로 처리해주는 편리성이 좋아 채택하게 되었습니다.
- MessageUI
- 게시글, 댓글 신고 및 앱 피드백(이메일 작성)을 통해 사용자와 개발자간의 소통이 가능하고 앱 품질 향상을 위해 채택했습니다.
- WebKit
- 개인정보 처리방침 및 서비스 이용약관 제공의 페이지는 노션을 활용하였기에 좀 더 사용자가 쉽게 접근하여 보실 수 있게 하여 채택했습니다.
- FirebaseCloudMessaging
- 사용자의 게시글에 댓글이 달렸을 경우 실시간으로 알림 기능을 구현하기 위해 채택했습니다.
-
- 전화번호를 통한 회원가입
- Firebase를 통한 로그인, 이메일 형식의 아이디로 비밀번호 찾기
-
- 사용자가 작성한 게시글의 이미지와 위치 정보를 활용하여 Map에 Mark(핀)을 생성
- 거리와 날짜를 이용하여 필터된 데이터들을 바탕으로 Mark(핀)을 업데이트
- 사용자의 위치의 정보를 가지고 현재 위치에서 반경 km까지 게시글를 필터링
- 시작, 끝 날짜를 바탕으로 게시글의 작성된 날짜 필터링
-
- 잃어버린 반려동물의 게시글을 TableView로 보여줌
- 잃어버린 반려동물의 정보를 바탕으로 게시글 작성
- 거리와 날짜를 이용하여 필터된 데이터들을 바탕으로 Mark(핀)을 업데이트
- 사용자의 위치의 정보를 가지고 현재 위치에서 반경 km까지 게시글를 필터링
- 시작, 끝 날짜를 바탕으로 게시글의 작성된 날짜 필터링
- pagenation을 통한 무한 스크롤
-
- 사진을 촬영시 현재 사용자의 위치와 촬영된 이미지를 바탕으로 발견한 반려동물 게시글 생성
-
- 발견한 반려동물의 게시글을 CollectionView로 보여줌
- 거리와 날짜를 이용하여 필터된 데이터들을 바탕으로 Mark(핀)을 업데이트
- 사용자의 위치의 정보를 가지고 현재 위치에서 반경 km까지 게시글를 필터링
- 시작, 끝 날짜를 바탕으로 게시글의 작성된 날짜 필터링
-
- 잃어버린 반려동물 게시글 및 발견한 반려동물의 게시글을 바탕으로 상세 페이지를 보여줌
- 작성자일 경우 게시글 삭제, 수정 기능, 아닐경우 신고 기능
- 댓글 기능
- 게시글 작성자에게 실시간으로 알림
- 삭제, 수정, 신고 기능
-
- 프로필 이미지 및 닉네임 수정
- 사용자가 작성한 게시글 CollectionView로 보여줌
- 앱 피드백, 회원탈퇴, 로그아웃, 개인정보 처리방침 및 서비스 이용약관 구현
- 게시글 및 댓글을 작성 또는 수정할 때, '작성' 버튼을 여러 번 누르면 중복 등록되는 오류가 발생합니다.
- 이 문제를 해결하기 위해 등록 버튼 클릭 시에 비활성화 또는 플래그 사용 등 다양한 방법이 있었지만, 사용자 관점에서 등록 후 알림이 없어 오류가 났을 수 있다는 고려로 AlertController를 활용하여 '작성 중입니다'라는 명확한 알림을 제공하도록 하였습니다.
- 잦은 API 호출 문제
- 데이터 정보를 객체에 따라 분리를 하면 API를 여러 번 호출하는 문제가 있을 수 있고, 데이터를 한 곳에 집중하면 API는 한 번만 호출하지만 필요없는ㄷ 데이터도 다 가져와야 하는 문제가 생길 수 있습니다. 그래서 유저의 사용 방식과 앱 구동 방식을 고려하여 필요한 데이터가 조금씩 중첩되도록 모델을 설계하였습니다.