안드로이드 앱 개발 포트폴리오 | 반려동물 추억 기록 일지
내일배움캠프 7기 앱 개발 과정 안드로이드 트랙 수료생 최종 프로젝트 '이심동심'을 소개합니다.
Mar 07, 2024
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F83c75a39-3aba-4ba4-a792-7aefe4b07895%252F06c8923a-825b-41ce-be9f-012cdbf3071f%252FUntitled.png%3Ftable%3Dblock%26id%3Dc115fc00-5799-4cdd-a058-bed51ebaf2df%26cache%3Dv2&w=3840&q=75)
프로젝트 개요
기획 의도
- 반려인구 1,243만명! 전체 인구의 약 25%! 이렇게나 많은 사람들이 반려동물과의 추억을 쌓고 있는 반면, 그 추억을 오랫동안 간직할 수 있는 공간이 없다는 사실, 알고 계셨나요? 이심동심에서 반려동물과의 소중한 추억을 담아보세요 😉
앱 경쟁력
- 일지 유형 별 템플릿 제공 : 일기를 어떻게 써야할지 모르는 유저들을 위한 일지 양식 제공 → 산책일지, 병원일지, 간식일지 등 테마 별 일기 작성 가능
서비스 소개
주요 기능 요약
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F83c75a39-3aba-4ba4-a792-7aefe4b07895%252Fa213c0b7-0d58-4357-a087-5f142a42007e%252FUntitled.png%3Ftable%3Dblock%26id%3D1e8489bd-9695-467f-8fca-6e2bbc393a65%26cache%3Dv2&w=3840&q=75)
기술적 의사 결정
Firebase 관련
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F83c75a39-3aba-4ba4-a792-7aefe4b07895%252F0946ee75-3406-4b8c-b5ae-6338894842b8%252FUntitled.png%3Ftable%3Dblock%26id%3Dcf33ee04-1259-414b-9503-a459ae22ee67%26cache%3Dv2&w=3840&q=75)
그 외 기술
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F83c75a39-3aba-4ba4-a792-7aefe4b07895%252F33499e1f-1ff2-4562-ac18-ce8998ca3bf2%252FUntitled.png%3Ftable%3Dblock%26id%3D1e5e1497-e954-4525-8039-90e01e31b920%26cache%3Dv2&w=3840&q=75)
트러블 슈팅
유저 간 동기화
- 문제 : 게시글 추가, 삭제 시 다른 유저에게도 동기화 되는 현상
- 해결 : addValueEventListener → addOnSuccessListener 대체
- 시도 : 모든 종류의 리스너 테스트
- 배움 : addValueEventListener은 사용하지 않을 시에 반드시 제거해야함
registerForActivityResult 생명주기
- 문제 : fragment에서 registerForActivityResult 쓰는 경우, 가끔 launch 에러 뜸
- 해결 : onDestroy에서 화면이 파괴될 때 registerForActivityResult도 함께 null 처리
- 시도 : fragment ↔ activity, activity ↔ activity 간 데이터 전달의 차이점 파악
- 배움 : fragment, activity 사용 시 생명주기에 대한 이해 필수
예외 처리 부족으로 인한 앱 비정상 종료
- 문제 : null 처리 부족으로 앱 비정상 종료 발생
- 해결 : 에러 코드 확인 후 비정상 종료되는 부분 수정
- 시도 : 기능 구현 시 null 될 수 있는 부분 논의
- 배움 : 앱개발은 null과의 싸움이라는 점
향후 계획
유지 보수 계획
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F83c75a39-3aba-4ba4-a792-7aefe4b07895%252Fc2c5e0ae-8f54-419f-a516-9036b676a0f2%252FUntitled.png%3Ftable%3Dblock%26id%3Dc9664644-7255-4bf6-acfe-eae5e9cd79a3%26cache%3Dv2&w=3840&q=75)
앱을 만든 사람들
ㅤ | 직급 | 역할 | 구현기능 | 깃허브 | 블로그 |
김민지 | 리더 | 팀 리딩, 서기, 발표(중간, 최종), 발표 PPT 제작, 시연 영상 편집 | 로그인/ 마이피드/ 다른 유저 프로필/ 홈 피드/ 일지 작성/ 일지 상세 기능 구현 | ||
김진아 | 부리더 | UI 작업
(마이페이지, 다른 유저가 보는 페이지, 일지 기록 페이지(병원, 일상, 행동, 펫 용품) 등) | BottomNavigation 각 Fragment로 연결, Splash, 상세페이지 스크린샷 제한, 오류 수정 등 | ||
정도균 | 팀원 | 로그인 페이지/반려동물 등록 페이지/ 재설정 팝업/ 회원가입 팝업/ 좋아요 설정/ 일지 피드 페이지 | 로그인 페이지/비밀번호 재설정 페이지/ 회원가입 페이지/ 반려견 등록창 페이지/ 마이페이지/ 일지 피드 페이지 | ||
신승철 | 팀원 | 담당 기능 구현/ 버그 수정/ 깃허브 리드미 작성 | 로그인 페이지/ 홈피드페이지/ 마이페이지/ 설정페이지/ 공지사항 페이지/ 기타 제반 사항 |
프로젝트 깃허브 & 서비스 주소
서비스 주소
Share article
Subscribe to our newsletter