
작업 기간: 2023.08.30~2023.09.26
인력 구성: 개발자 6명
프로젝트 목적: 반려동물 산책 커뮤니티 플랫폼 개발
프로젝트 목표: 사용자 친화적인 UI와 실시간 위치 공유 기능을 통한 커뮤니티 활성화
기획, 프론트엔드(UI), 기능 구현까지 전담하여 산책, 카카오맵과 관련된 모든 업무 수행
요구사항
현재 위치를 기준으로 카카오검색 API를 통해 검색한 방문지 전부를 DB에 저장하면, DB의 업로드 부담이 너무 커짐.
DB 업로드와 다운로드 부담을 최소화하면서 사용자 위치를 기준으로 검색된 방문지들을 효율적으로 관리해야 함.
선택지
1. 검색된 방문지를 모두 중복을 제외하고 DB에 업로드.
2. 좋아요를 눌렀을 때, 리뷰를 성공적으로 작성했을 때에만 DB에 업로드.
의견 조율
onMapViewCenterPointMoved 메서드에서 중심 좌표가 바뀔 때마다 방문지들을 새로 검색하므로, 모두 업로드하면 중복검사의 복잡성과 DB 업로드 부담이 커짐. 따라서 두 번째 방법을 사용하기로 결정.
의견 결정
사용자가 좋아요를 누르거나 리뷰를 작성한 방문지에 한해서만 DB에 업로드하고 관리.
결과 및 배운 점


요구사항
특정 상황에서 내 위치를 표시하는 커스텀 마커의 이미지가 로드되지 않아 흰색 네모칸으로 표시되는 현상을 해결해야 함. 어떤 상황에서도 커스텀 마커의 이미지가 정상적으로 로드되어 현재 위치를 파악하기 용이해야 함.
선택지
1. 카카오맵 API에서 기본적으로 제공하는 Redpin 사용
2. 마커에 사용될 이미지의 크기를 가공, 이미지의 용량 최적화 진행
3. 정상적으로 로드되는 이미지를 찾아서 교체
의견 조율
의견 결정
결과 및 배운 점

요구사항:
사용자와 다른 유저의 위치가 지도상에서 실시간으로 업데이트되지 않는 문제가 해결되어야 함. 사용자의 위치는 2초마다 정상적으로 업데이트되어야 함.
선택지:
1. 사용자의 위치를 받아오는 메서드와 조건에 맞는 유저의 위치를 DB에서 업로드, 다운로드 하여 업데이트.
2. 모든 위치 좌표를 DB에 업로드 / 다운로드 하여 업데이트.
의견 조율:
의견 결정:
결과 및 배운 점:

1.산책한 경로의 시각화
사용자가 산책한 경로를 선으로 그려 산책정보에서 산책했던 경로를 확인할 수 있게 하려고 했으나, 카카오맵의 보안정책상 캡쳐가 허용되지 않아서 그렸던 경로를 산책정보에 같이 저장할 수 없었습니다.
2.유효성 검사
특정 부분의 유효성 검사 기능을 마무리하지 못했습니다.
1. 가상 산책 경로
사용자가 집 안에서도 산책을 즐길 수 있도록 가상의 산책 경로를 생성하는 기능을 개발 예정입니다.
2.유효성 검사
시간의 부족을 이유로 미뤘던 유효성 검사 기능을 마무리할 예정입니다.
프로젝트 관리: 프로젝트의 크기와 일정, 인원 등을 고려하지 못하고 설정한 바람에 일정과 시간 관리에 어려움을 겪었습니다. 이는 프로젝트의 완성도에도 영향을 미쳤습니다.
팀원 간의 협업: 팀원 간의 역량 차이를 정확하게 인지하지 못하고 역할을 분배하다 보니, 진행도와 완성도에 차이가 발생했습니다. 이를 수정하고 팀원을 도와주는 과정에서 의견 충돌이 발생했으나, 이를 해결하는 과정에서 팀 내에서의 갈등 해소와 협업 능력을 향상시킬 수 있었습니다.
기술적 습득과 적용: 저번 프로젝트에는 제대로 활용하지 못했던 MVVM 아키텍처나 다양한 라이브러리를 실제 프로젝트에 적용해보면서, 여러 공식 문서와 구글링을 통해 문제를 해결하는 방법을 배웠습니다. 이를 통해 더 효율적인 코드를 작성하는 방법과 기술적인 문제 해결 능력을 향상시켰습니다.
문서화의 중요성: 실제 구현 과정에서 발생하는 여러 문제를 기록하고, 이를 반복하지 않기 위해 문서화하는 과정에서 그 중요성을 깨달았습니다. 이를 통해 더 체계적이고 효율적인 작업 진행이 가능해졌으며, 프로젝트의 퀄리티를 향상시킬 수 있었습니다.
이번 프로젝트를 통해 기술적, 커뮤니케이션 적으로 부족했던 점들을 보완했습니다.
특히 부족했던 팀 프로젝트의 경험이나 실시간 위치 트래킹, DB 관리, 팀원 간의 협업 등 여러 가지 관점에서 성장을 이뤄냈다고 생각합니다.
혼자 프로젝트를 진행하는 것과 팀 프로젝트의 차이점과 팀 프로젝트를 경험해 봐야 하는 이유를 깨닫게 되었습니다.
앞으로도 더 배우고 노력하여 사용자의 입장에서 더 좋은 서비스를 제공하는 애플리케이션을 만들기 위해 노력할 것입니다.