<소개>
위치 기반의 리워드 적립형 만보기 앱. 친형이 제안한 모바일 앱 서비스 아이디어에서 가능성을 보고 창업을 진행했던 프로젝트입니다.
<주요 업무>
- 서버 구축 (Linux, Nginx, AWS Elastic Beanstalk)
- 데이터베이스 구축 (MongoDB)
- API 서버 개발 (Node.js, Javascript)
- 안드로이드 앱 개발 (Java)
- 관리자 웹 콘솔 개발 (React, Javascript)
<업무 상세>
서버 및 데이터베이스 구축
MongoDB
지도 좌표 관련 작업과 대규모 데이터에 적합한 데이터베이스로써 MongoDB로 진행하였습니다. 접속자수가 급증하더라도 서버 인스턴스가 자동으로 늘어나는 AutoScaling 대응을 하기위해 AWS의 Elastic Beanstalk를 사용해보았습니다.
API 서버 개발
Node.js, Javascript, RESTFul
RestFul API로 설계 하였습니다.
안드로이드 앱 개발
Android, Java, NDK, Gson, Firebase
Java 기반의 안드로이드 앱을 개발하였습니다. 사용자 인증 관련한 부분은 NDK를 사용하여 C++로 개발하였습니다. Gson을 사용하여 API로 받아온 데이터-모델 객체를 맵핑시켰습니다.
관리자 웹 개발
React,Javascript
사용자 관리, 서비스 데이터 관리, 모니터링 작업을 수행할 수 있는 관리자 페이지를 개발하였습니다.
<경험>
프로젝트 진행에서 개발의 모든 부분을 담당하였습니다.
과정에서 굉장히 많은걸 경험하고 배웠던 1년이었습니다. 기술적인 부분은 물론이고 서비스를 만들어감에 있어서 함께 생활하고 소통하는 과정, 더 매력적인 서비스를 만들기 위해 비즈니스 모델에 대해 깊게 고민하고 토론했던 시간들 모두 소중한 경험이었습니다.
가장 힘들었던 것은 전체 디자인을 5번 정도 수정하며 개선했던것인데 그때마다 전체 앱 코드를 갈아엎는 과정이 당시엔 정말 힘들게 느껴졌기 때문입니다. 이 경험을 통해서 진행 중 요구사항이 바뀌는것은 서비스를 개선함에 있어 어쩔수없는 부분이 있구나라는 생각을 했습니다. 따라서 바뀌는 것을 부정적으로 대할 게 아니라 코드의 모듈화, 아키텍처 등을 고려하면서 요구사항에 최대한 유연하고 효율적으로 대응할 수 있도록 설계를 하는것이 중요하다는 것을 배웠습니다.
아쉽게도 출시까지 이루어지지는 못하였지만, 그만큼 많이 배웠고 앞으로 프로젝트를 진행할때 좀 더 노련하게 진행할 수 있도록 할 수 있는 역량과 경험이 남았기에 인생에 있어서도 많은 경험이 되었다고 생각합니다.