top of page

두 번째,

Android 앱 "MO먹지"

  • 작업기간 : 2020-01-13 ~ 2020-04-07 (2개월 26일)

  • 작업 인원 : 3명

  • 작업 툴 : Android Studio

  • 프로젝트 설명

약 세 달 동안, 총 세 명의 개발자와 한 명의 기획자로 팀을 꾸려 온라인상에 메뉴가 잘 소개되어 있지 않은 저희 대학교 앞 로컬 식당들의 메뉴를 학생들에게 제공해 주어, 학생들에겐 편의를 식당들에겐 손님을 이끌어 줄 수 있는 Android 앱 ‘MO먹지’를 개발해 구글 플레이에 업로드했습니다.

  • 프로젝트에서 맡은 역할

: 프로젝트에서 저는 Firebase를 활용한 사용자 인증, DB 관리, Storage 관리 등의 백엔드와 네이버 지도 연동, 화면구성 디자인, 액티비티 구현 및 전환 등의 프론트엔드를 맡았습니다. 이전 프로젝트에서 프론트엔드만 맡아서 이번 프로젝트에선 백엔드를 경험해서 앱 개발의 전반적인 흐름을 알고 싶었습니다. 그래서 이번 프로젝트의 주 역할은 백엔드지만, 총 세 명의 개발자 중 Android 경험이 있는 개발자가 제가 유일해서 프론트엔드 개발을 도와주기 위해 프론트엔드도 맡게 되었습니다. 

 사용자 인증은 이메일 계정과 구글/페이스북계정 연동 이렇게 세 가지 방법으로 로그인 가능하도록 구현했습니다. DB로는 Cloud Firestore를 사용했고, Cloud Firestore나 Storage와 앱이 통신하기 위해서 필요한 쿼리들은 하나의 Class 안에 따로 모아뒀다가 쿼리가 필요한 코드마다 해당 Class를 호출하는 방식으로 백엔드를 관리했습니다. 

 네이버 지도는 식당 주소를 Geocoder로 좌표로 변경한 뒤 네이버 지도 API를 사용해 지도상의 식당 위치에 마커를 생성했습니다. 식당 리뷰 게시판 새로고침 실행 도중 화면이 전환되면 에러가 발생하는 이슈가 있었습니다. 해당 이슈의 원인은 프래그먼트를 Refresh 해주는 과정에서 프래그먼트가 바뀌어서 발생하는 에러였습니다. 그래서 프래그먼트 생명주기를 활용하여 onPause()에 실행되고 있던 새로고침 코드가 중단되도록 구현해 해결하였습니다. 그 외에도 레이아웃 디자인 시에 UX를 만족할 수 있도록, 사소한 여백 크기나 버튼 위치 같은 부분도 여러 차례 고민하며 개발했습니다.

  • 프로젝트 피드백

: 백엔드부터 프론트엔드까지 전반적으로 개발하면서 앱 전체의 흐름에 대한 이해도가 한층 더 높아졌습니다. 앱 프로젝트 폴더를 만드는 과정부터 구글 플레이에 APK 파일을 올려서 배포하는 과정까지, 하나의 앱이 만들어지고 배포되는 전 과정을 거치면서 Android 앱 개발 역량이 성장하게 된 경험이었다고 생각합니다.

 

  • 프로젝트 결과물

: Google Play 업로드, 최종 프로젝트 소스코드는 GitHub에 저장되어 있습니다.

1) 주요기능 : 대학교 앞 가게들의 정보제공 / 리뷰게시판 / 메뉴 카테고리 랜덤 뽑기 / My리스트

2) Back-end : Firebase (Cloud Firestore / Storage)

3) Front-end : Android (Java)

bottom of page