본문 바로가기

[TIL][내일배움캠프]

[내일배움캠프][TIL] 24.03.08 (금) - 최종 프로젝트 3주차 : MVP 결산

1. 최종 프로젝트 3주차

 

오늘은 MVP를 전부 구현하고, 중간점검 겸 중간 발표자료를 제출하는 날이다.

 

그래서 그런지 개발하는 시간보다는 최종적으로 기능들을 갈무리하고 앱에 특별한 이상은 없는지, 혹은 놓친 디테일은 없는지 꼼꼼히 확인하는 시간이 많았다.

 

 

그렇다면, 나는 지금 얼마나 구현하였는지 확인해보자.

 

 

필수 구현 목록

 

우선, 내가 맡은 부분 중에서 초기에 구현하기로 했었던 필수 구현 목록들이다.

 

  • Mountain Detail Activity
    • 등산 정보 표시 (등산 난이도 / 해발고도 / 총 소요 시간 / 상행 시간 / 하행 시간 / 트래킹 코스 등등)
    • 등산 정보 데이터베이스 연결
    • 시간별 산 날씨 보여주기 (가로 스크롤 리사이클러뷰?)
  • My Info Fragment
    • 프로필 사진 수정
    • 좋아요 한 산 리스트

 

여기서, 프로필 사진 수정은 로그인 기능이 없으면 아무리 봐도 의미가 없을 것 같아서 제외했다.

 

그럼 결국 남은 부분은 등산 정보 표시와 등산 정보 데이터베이스 연결, 날씨, 좋아요 기능이었다.

 

 

그러면 지금 여기서 얼마나 구현했을까?

 

  • Mountain Detail Activity
    • 등산 정보 표시 (등산 난이도 / 해발고도 / 총 소요 시간 / 상행 시간 / 하행 시간 / 트래킹 코스 등등)
    • 등산 정보 데이터베이스 연결
    • 시간별 산 날씨 보여주기 (가로 스크롤 리사이클러뷰?)
  • My Info Fragment
    • 프로필 사진 수정
    • 좋아요 한 산 리스트

…그러하다.

결국 날씨 API와 좋아요 기능은 완성하지 못했다.

 

 

분석

 

그렇다면, 그 원인을 한 번 분석해보자.

 

  • 등산 정보를 받아올 때, 처음에 API를 받아오려 했으나 여기서부터 어그러졌다. API에 들어있는 정보들이 너무 제각각이어서 우리가 원하는 정보가 아니었던 것. 그래서 데이터를 정리하는 데에 시간을 쓰게 되었다.
  • 중간에 레이아웃을 만들 때, 내가 평소에 사용하지 않았던 기능들(Coordinator Layout, 자동 스크롤+무한 스크롤)을 사용하다보니 오류들 또한 굉장히 많이 튀어나왔다. 그걸 수정하느라 역시 시간을 많이 소비했다.
  • 데이터를 Firebase에 저장한 다음에 그걸 받아오는 방식 또한 나에게는 생소한 방식이었다. 이 역시 처음에 어떤 식으로 써야 받아올 수 있는지 학습하는 데에 시간을 썼다.
  • 중간중간에 데이터가 null값으로 넘어오는 문제들이 생겼다. 이 역시 원인들을 찾아내는 데에 또 시간이 지나갔다.

 

그 외에도 여러가지 피드백을 통한 수정사항들을 반영하다보니 막상 필수 기능을 빠뜨리는 일이 생기게 되었다.

적다보니 변명처럼 보이지만, 사실은 내가 조금 더 빡세게 했으면 전부 구현할 수 있지 않았을까 하는 마음이 든다.

 

 

추가 구현 사항

 

하지만, 지나간 일은 지나간 일이고 이제 남은 3주 동안 추가적으로 구현해야 할 기능들을 완성해야 한다.

 

그렇다면 좋아요 기능과 날씨 API 외에도 추가적으로 구현해야 할 기능은 무엇일까?

 

  • 내 업적(토큰)
    • 나의 업적 다이얼로그
  • 커스텀 캘린더
  • 로그아웃
  • 레벨 다이얼로그
  • MVVM으로 변경할 수 있으면 변경해보기 (현재 MVC)

 

주로 로그인/로그아웃과 관련된 기능과 아키텍쳐와 관련된 부분이 주로 이루고 있다.

 

이번에도 말로만 들었지 직접 실행해보는 건 처음인 MVVM을 다루려 하니 굉장히 떨리는데… …잘할 수 있겠지?