본문 바로가기
앱 개발

[1인 앱 개발] 보드게임 추천 커뮤니티 앱 '놀까' 개발 후기

by 직_장인 2024. 7. 12.

보드게임 추천 커뮤니티 앱인 '놀까(NOLKKA)'를 개발하고 있다.

최근에 자잘한 오류들을 모두 수정하고, 모든 기능이 잘 작동하는 수준의 앱으로 업데이트를 완료했다.

그래서 기념으로 개발 후기를 써볼까 한다.

 

1. 개발의 시작

22년 2월

그러니까 약 2년 반 전부터 앱 개발에 도전했다.

 

나만의 서비스를 만들어 보고 싶다는 작은 욕심이 도전의 시작이었다.

 

제조업에서 IT로 커리어 전환 후 포트폴리오 이력이 필요하기도 했고,

내가 만들고 싶은 서비스를 만든다면 좀 더 열정적으로 할 수 있을 것 같았다.

 

이쪽 분야는 전혀 몰랐기 때문에 이것저것 많이 찾아봤다.

 

andorid, ios 두 플랫폼에서 사용 가능한 앱을 만들고 싶었기 때문에 하이브리드 앱으로 찾아봤다.

몇가지 선택지가 있긴 했지만, 당시에 떠오르는 라이브러리인 Flutter를 선택했다.

 

DB는 firebase로 손쉽게 연동 가능하다길래 이걸 선택했다.

 

유튜브로 클론코딩도 해보고, 온라인 강의도 들으면서 공부했다.

브이로그 할거라며 동영상도 찍었었다...

 

한 1년간은 클론코딩하면서 Flutter에 익숙해지고, Dart 언어 사용법을 익혔다.

Firebase 연동해서 데이터 CRUD 하는 수준까지는 했던 것 같다.

 

2. 기획

개발 아이템은 보드게임이었다.

지인 중 보드게임 카페를 운영하는 분이 있는데, 손님들이 항상 게임을 추천해달라는 이야기를 하더라고 말해줬다.

추천 시스템은 본업인 데이터쪽과 연관이 있기도 하고 추천 알고리즘을 재미있게 공부했어서 이거로 핵심 기능을 정했다.

 

그리고 사용자가 필요로 할만 한 보관함 기능이나, 같이 게임할 사람을 찾는 커뮤니티 기능도 있으면 좋을 것 같았다.

초창기 화면은 이랬다.

상단 탭에 추천, 탑30 등의 기능이 있었다

하단 네비게이션 바에는 게임찾기(Discovery), 포럼(Forum), 함께하기(Join), 채팅, 마이페이지를 만들었다.

 

3. 데이터

기본적인 서비스 구현을 위해선 데이터가 필요하다.

지인으로부터 카페를 운영하며 만들어 두었던 잘 정리된 게임 리스트 받았다.

부족한 데이터는 wiki 등 크롤링도 해보고, 수기로 엑셀을 정리하기도 했다.

 

4. 첫 앱스토어 승인

23년 3월

앱 공부를 시작한지 1년 후 앱스토어에 앱을 출시했다.

커뮤니티 앱인데 왜 신고하기랑 차단 기능이 없어? → 반려

로그인 오류나는데? → 반려

구글, 카카오 등 소셜 로그인을 이용할 때, 어떤 정보를 사용하는지 유저한테 명시해줘야지? → 반려

근데 앱스토어에 올리겠다는 놈이 왜 애플 로그인은 없지? → 반려

성별은 남, 여만 있네? 선택하고 싶지 않은 사람은 어쩌라는거야? → 반려

그 외 기술적인 오류까지 정말 많은 거절 사유가 있다.

 

물어볼 사수가 있었다면 좀 더 쉽게 해결했을 문제들도 있었다.

혼자서 구글링만으로 이 많은 허들을 넘고 출시까지.. 정말 던져버리고 싶은 순간이 참 많았다.

 

하지만 인내의 시간을 거쳐서 마침내 출시에 성공했다!

 

다음으로 구글 플레이스토어 승인

23년 10월

플레이스토어도 승인이 되었다.

앱스토어에 비하면 플레이스토어는 간단한 절차를 통해 승인되었다.

 

간단한 승인으로 간과한 부분이 있었는데,

android 시뮬레이터가 아닌 실제 핸드폰으로도 꼭 테스트를 해봐야 한다는 점이다.

 

시뮬레이터에서 발생하지 않는 오류가 실제 핸드폰에서는 발생하는 경우가 있다.

 

그리고 이 테스트 누락으로 인해 android에서 후에 크게 고생했던 문제가 있었다.

카카오 로그인이 ios에서는 잘 되는데 android에서만 오류가 생기는 것이었다.

 

코드상의 문제인 줄 알고 이것저것 바꿔가며 시뮬레이터로 테스도 해보고

핸드폰으로 다운받아서도 해보고 했는데 결국 카카오 개발자 페이지에서 설정을 잘 못 한 것이었다.

 

처음부터 테스트를 잘 하고 확인했다면 쉽게 찾았을 문제인데 그러지 않아서 돌아돌아돌아돌아~~ 찾아냈다.

 

5. 기획의 변경

처음에는 커뮤니티가 있고, 그 안에 자유게시판, 인기글, 게임뉴스, 중고장터가 있었다.

유저를 모으기 위해서는 이런 커뮤니티가 필요하다고 생각했다.

하지만 어디에나 있는 이 기능을 위해 유저가 모이지는 않을 것이라는 결론에 도달했다.

그리고 게임뉴스나 중고장터는 1인 개발하는 입장에서 관리가 안될 것 같았다.

그래서 과감하게 커뮤니티, 함께하기, 채팅 부분을 지웠다.

(시뮬레이터 종류가 달라서 캡쳐 크기도 다르다..)

대신에 자기가 한 게임했던 기록을 쉽게 저장하고 친구들과 공유하는 기능을 만들었다.

'플레이 로그' 페이지에서 같이 게임한 친구들과 점수도 기록할 수 있도록 만들었다.

앱에 가입되어 있는 친구는 '친구 선택'을 통해 찾을 수 있고, 가입하지 않은 친구는 수기로 입력할 수 있도록 했다.

그리고 나같이 내향인인 사람은 해당 기록을 공개하지 않고 개인적으로만 기록하고 싶을 수도 있으니,

글 공개 여부를 선택할 수 있도록 했다. 

 

6. 디자인의 변경

메인화면은 리스트의 나열이라 너무 단조로워 보였다.

그래서 종 스크롤과 횡 스크롤을 같이 사용할 수 있도록 구성했다.

 

디테일 페이지는 개선이 시급했다.

게임 정보 구조를 적절히 만들어보고, 버튼은 하단에 위치시켰다.

메인화면 변경, 게임 디테일 화면 변경

나름 꾸민다고 꾸몄는데, 아직도 갈길이 멀다.

다음 개선 1순위는 디자인이다.

 

7. 후기

글을 쓰다보니 보여지는 부분 위주로 작성하게 되었는데,

- 사실 보여지는 부분 말고도 추천 알고리즘이 어떻게 동작하는지

- DB를 어떻게 하면 효율적으로 사용 가능할지 고민하며 구조를 만들고 수정했는지

- 페이지 이동 시 데이터를 매번 불러오면 비용이 발생하기 때문에,
   처음 한번만 로딩하고 그 다음에는 캐시로 기록하여 재 로딩을 방지 하는지 

등등 서비스를 고도화 하기 위해서 고민해야 할 부분이 많다.

 

그래도 핵심 기능은 어느정도 완성된 것 같으니, 이제 홍보와 디자인에 집중해야 할 것 같다.

 

2년 반이라는 장기간 프로젝트를 성공했다는 기쁨과 칭찬을 담아

후기를 마친다.

 

'앱 개발' 카테고리의 다른 글

앱 개발시 유의사항  (0) 2023.07.06
앱 구조도  (0) 2023.03.11
비전공자 앱개발 도전기  (0) 2022.11.30
앱 만들기  (0) 2022.11.30

댓글