GooApp 구구단 퀴즈 앱을 만들어보자!
ReactNative를 사용해서 구구단을 외우는 퀴즈 앱을 만들어보자.
GooApp 프로젝트를 시작한 배경
단풍톤을 진행하면서 ReactNative를 공부하기 위해 간단한 구구단 게임인 GooApp을 테스트용으로 제작했다. 그냥 구구단 앱이라 GooApp… 처음에는 Expo만을 사용해서 핵심 컴포넌트 사용에 집중했다. 프로젝트의 기획과 문서화의 중요성에 대해 알게 되면서 혼자 하는 프로젝트에도 문서화를 도입하려고 했다. 간단한 퀴즈 기능만을 가진 GooApp을 더 구체화해서 기획부터 배포까지 해보자는 계획을 세웠다.
기획
구글 플레이에 비슷한 앱이 많아서 벤치마킹 조사와 장단점 분석을 통해 내가 만든 앱에 구현해야 할 기능과 서비스 대상 등을 정했다. 4가지 질문 (어떤 서비스인가요?, 서비스의 대상은?, 궁극적인 목표는?, 가장 중요한 가치는?)를 통해서 서비스를 나타내는 핵심 문장을 만들었다.
새롭게 구구단을 외우거나 외우는 속도를 높이고 싶은 사람들을 위한, 쉽고 빠르게 반복적으로 풀 수 있는 퀴즈와 다른 사용자들 과의 경쟁을 통해서 간편하게 구구단을 외울 수 있는 서비스입니다.
리뷰 분석을 통해 주로 사용하는 연령대가 초등학교 저학년인걸 확인하고 서비스 대상을 초등학교 저학년 학생과 그들의 부모로 정했다.
아이들이 짧게 몰입해서 사용할 수 있도록 굉장히 짧고 반복적인 게임을 선택했다.
게임까지 이동하는 퍼널을 최대한 줄이기 위해서 로그인 기능도 없애 랜덤 닉네임을 선택했고, 디자인도 최대한 직관적으로 만들었다.
게임만 있다면 쉽게 지겨워할 수 있어서 랭킹 시스템을 통한 경쟁 기능을 넣었고 네트워크 연결을 하지 않아도 사용할 수 있도록 나와의 경쟁 - 기록 기능도 넣었다.
프로젝트 정보
프론트앤드
- React Native를 사용해서 Android 앱을 개발한다.
- 구글 플레이에 배포한다.
백앤드
- Express.js -> AWS EC2 혹은 Koybe로 배포한다. (지속 배포 가격을 고려해서 결정할 예정)
- MongoDB Atlas 클라우드를 사용해서 데이터를 저장한다.
홈 화면

게임 화면 (튜토리얼, 인게임)

기록과 랭킹 화면

마치며
처음으로 문서화를 직접 해보고 있는데 할 일이 점점 늘어가는게 재밌기도 하고 힘들기도 하다. 뭐 기능 하나 추가하거나 수정하면 써야할 문서가 계속해서 늘어난다. 그래도 확실히 이전에 중구난방으로 작업하던 것 보다는 틀이 잡혀서 ‘코딩을 한다’ 라는 느낌 보다는 ‘프로젝트를 진행한다’라는 느낌이다. 아직 프로젝트를 배포한 경험이 없는데 완성해서 배포하면 어떤 느낌일지 궁금하다.
