Android App 여행 후기 등록, 추천 앱
캡스톤 프로젝트로 진행한 여행 후기 등록과 추천을 해주는 안드로이드 어플이다.
기획, 설계, 보고서, 발표자료, 판넬, PPT제작을 맡았고, 코드 중에 사용자가 경험한 여행지에서 추출한 데이터를 통해 유사한 지역을 찾아 추천하는 정규화 알고리즘을 발견했는데 팀원들이 그건 안쓸거라고 해서 뺐다.
실제 구현은 내가 아니라 거의 팀장 혼자서 했다.
팀원은 총 네명이었고, 먼저 한명이 팀장을 맡겠다고 했었다.
나를 포함한 다른 팀원들의 아이디어는 안할 것이라고 무시했고, 자신이 생각해온 주제인 앨범정리 app을 만들겠다고 했지만, 결국 그 주에 교수님에게 검사맡는 과정에서 다른 주제로 바꾸라는 말을 들었다.
프로젝트 초기단계였고 기획단계라서 내가 다른 일정때문에 며칠 한국에 없을 것이라고 팀원들에게 허락 맡고 외국에 가 있었는데, 내가 연락하기 어려운 상황에서 팀장이 주제를 바꾸자고 메시지를 보냈다.
한국에 도착하고 해도 되는 연락이었는데 나는 답할 수 없었고, 다른 팀원들도 연락을 안 했었다고 한다.
그래서 내가 의견을 내지 못하고 여행 후기를 남길 수 있고, 추천해주는 앱을 만든다고 정해졌다.
어쨌든 그래도 최선을 다하기 위해서 기획과 앱 설계에 열심히 참여했고, 그 다음 시간에 ppt를 제작해서 어떤 app을 제작하는지 발표하게 되어서 내가 PPT를 만들고 발표를 맡은 팀장에게 전달했다.
그런데 내가 작성해서 전달한 ppt를 빼버리고 팀장 자신이 만든 ppt를 들고 나와서 발표했고, 나는 사전에 말도 없이 나의 제작물을 뺀 것에 대해 많이 화가났다.
그래서 네명의 합의로 코드 구현에 대해서 나는 손을 대지 않고, 기획, 설계, 보고서, 중간과 최종의 발표자료, 판넬제작, 발표를 맡게 되었다.
탈주했냐고? 탈주 안하고 엄청 열심히 했다.
발표자료도 외국 가기전에 열심히 만들고 비행기 안에서 발표연습하고, 시험준비하고 그랬는데도 제일 열심히 한 조원인 나한테만 화풀이하는 팀장이 화가났었다.
사용자가 작성한 후기와 여행 이미지를 Google Api와 연동하여 데이터를 가져온다.
사용자가 이전에 가지고 있던 기억과 유사한 지역을 좋아한다는 Collaborative Filtering을 적용하여 유사한 여행지를 추천하려고 했었다.
내가 책을 통해서 알아낸 정규화 유사도측정 공식과 DB에 저장하는 사용자의 데이터를 바탕으로 알고리즘을 제작하려고 했다.
팀원들에게 사용 방법과 수학식을 알려줬는데, 실제로 적용하지 않고 그냥 사용자가 선호도 설정란에서 직접 설정하는 방법으로 코드를 작성했다고 한다.
완성까지 다 했다. 발표는 한번은 팀장이 하고 나머지 두번은 내가 했다.
왜 내가 전달한 유사도 측정을 안하기로 했는지 모르겠지만 기획, 설계, 보고서, 발표자료, 판넬, PPT제작 등 나도 할만큼 했던 것 같다.
삐걱이는 팀워크에서 그래도 탈주하지 않고 서로 존중하며 완성할 수 있었다.
초반에 그렇게 싸우고는 그 다음부터 잘 맞춰가려고 노력했고, 결과물도 괜찮았다고 생각한다.
하지만 나도 주제를 선정하고, 여행 후기나 다이어리와 같은 흔한 주제가 아닌 기술이 특별한 장점이 있는 앱을 만들고 싶었다.
하지만 주제 선정에서 나의 의견이 무시당하고 다른 사람의 의견을 들어야 했는데, 개발에 대한 욕심을 버리고 남들에게 맞추는 것도 팀워크의 일종이라고 생각했다.