20기 그리고 두번째 앱잼

2017-07-09

appjamlogo

20기 그리고 두번째 앱잼에 대한 고찰

먼저 이번 앱잼을 한줄로 적자면 ‘정신없이 먹고 정신없이 개발했다.’ 로 표현할 수 있다.

이번 앰잼은 저번 기수와 다르게 거의 2주를 꽉 채워 합숙하면서 개발을 하게 되었는데, 그래서 인지 18기 앱잼때와 다르게 또 다른 재미가 있었다.

이번 앱잼에선 iOS파트를 맡아 개발해야 했지만 어떠한 계기로 인해 서버 파트를 맡아 개발 했다. (다시 생각해도 신의 한수)

평소 정보공유 플랫폼 서비스만 만들었는데 이번에는 매칭 서비스가 주 기능인 앱을 만들게 되었다.

개발 초반에 전체적인 설계를 할때만 해도 기본적인 게시판(CRUD 기능을 포함하고있는)이 하나여서 서버쪽 기능을 구현하기 쉽겠다고 생각했다.

tyson

역시 개발을 직접 해보니 기능을 구현하는것이 정말 어려웠다.

처음이라 어려운건지, 기능이 어려웠던건지 또는 기획이 너무 복잡(== 내가 멍청)했던건지…

먼저 매칭기능을 완성한뒤에 외부로그인과 FCM을 이용한 푸시알림기능을 추가하려고 계획했다.

결과는 매칭기능도 겨우 완성했다 ㅋㅋㅋㅋ

심지어 생각했던 만큼 기능이 잘 돌아가지도 않았다.

지금은 매칭 상태에 대한 플래그를 대기 / 매칭승낙 / 매칭완료 / 매칭 종료 4가지로 나누어 구분한다.

여기서 문제점은 디비상에서 상태 테이블을 따로 두지않고 단지 매칭(게시글) 신청(댓글)로 생각 했다.

처음엔 게시판과같이 게시글에 댓글이 달리면 특정 댓글을 선택하여 선택된 댓글에대한 플래그만 두게 되었다.

이런식으로 플래그를 두었더니 게시글에 대한 상태정보가 부족해 게시글에도 플래그를 두었다. (정말 1차원적인 생각)

플래그를 2개나 두고도 유저가 매칭(게시글)을 한번만 등록할 수 있었기 때문에 유저에 대한 플래그도 두었다.

어쩌다보니 플래그가 3개 나 되었다. 잘못됨을 인지했지만 돌이키기엔 너무 늦었기에 이 방법을 고수 해야만 했다.

플래그가 3개나 되었기 때문에 매번 쿼리마다 상태에 대한 플래그를 변경하는 쿼리를 한번 또는 두번 더 쿼리를 돌려야했다.

최대한 한 쿼리 안에 모든 값이 변경 될 수 있도록 하고 싶었지만 잘 안되었기에 코드상에서 async, await, promise를 사용했다.

비동기식으로 작동하는 코드를 동기식으로 작동하기 위해서, 그리고 콜백지옥으로 벗어나기 위해서 선택했다.

사실 몇번 써보긴 했지만 완벽한 이해는 하지 못했다. 더 공부를 해야 할 것 같다.

다음에 매칭기능을 만들땐 소켓 또는 트리거, 아니면 람다를 써서 해결 해보고 싶다

이런 고민과 결과 끝에 앱잼 기간과 딱 맞춰 완성하게 되었다.

안드로이드와 iOS의 앱이 100% 완성되지 않아 완벽한 테스트를 할 수 없어 포스트맨으로 10번 넘게 회원가입부터 매칭종료까지 서비스 플로우 전체를 테스트를 했던것 같다.

결국 발표날 아침에 처음으로 앱을 통해 테스트를 했는데 플래그가 많아서 순서가 맞지 않으면 완벽하게 돌아가지 않았다. (내 잘못)

하지만 시연을 하기엔 충분히 완성된 모습이었기에 안도했다.

저번 앱잼에선 대상을 받았지만 안타깝게도 이번 앱잼에선 수상하지 못했다. ( 한번 깬 간판엔 관심없음ㅋㅋㅋ )

하지만 상 대신 새로운 가족을 얻었다는 팀원들의 말을 듣고 더 보람찬 결과를 얻었다고 생각했다. (ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ)

이런 기회가 아니면 언제 또 이렇게 2주동안 합숙해가며 같이 먹고 같이 개발할 수 있는 경험을 어디서 찾을 수 있을까 생각해본다.

TeamMember

2주동안 함께했던 고생했던 팀원들과 20기를 함께한 친구들에게도 정말 감사함을 전하며, 20기 그리고 두번째 앱잼에 대한 고찰을 마친다.

20기 그리고 두번째 앱잼 끝!


여담 1 - 데모데이에 팀빌딩이 되어 처음 식사자리에선 다들 조용해서 심심할줄 알았는데 다들 반전…

여담 2 - 데모데이에 찍은 사진과 발표날 찍은 사진을 비교해 보면 확실하게 살찐게 보임

여담 3 - 놀러가기로 한거 잊지말자…

여담 4 - 2주동안 한 공간안에 8명이 있다가 집에오니까 적적하네

여담 5 - 진짜 살뺀다…

여담 6 - 기회가 된다면 프로젝트 또 같이하자

여담 7 - 정말 사적으로 하고싶은말도 많고 올리고 싶은 사진도 많지만 속으로만 되뇐다.

여담 8 - 꾸준히 연락하고 꾸준히 만나자~~ 가족이라며~~~

여담 9 - 이번 앱잼도 2주동안 준비한거에 비해 발표는 순식간에 끝난거 같아 너무 아쉽다

20기 그리고 두번째 앰잼 정말 끝!!


야, 타! - 플레이스토어

야, 타! - GitHub

21기에 만나요~~ 내가 붙는다면….