본문 바로가기

프로젝트 후기

[placepic] 개발 후기

 

 

🗓 개발 기간 : 2020.06.28 ~ 2020.07.18

🔎서비스 이름 : placepic

📌서비스 한줄 소개 : 우리들끼리 공유하는 최애 장소, 플레이스픽

✏️사용한 언어 / 구조 : Swift, MVC

📇깃헙 주소 : priviate
📍앱스토어 주소 : 

 

서론 : 

대학생 IT벤처창업동아리 SOPT iOS파트로 참여한 두번째 해커톤입니다.

첫번째에서 쓰디쓴 실패를 맛보았기 때문에,,, 열심히 칼을 갈아서 두번째 앱잼(해커톤)을 준비했습니다. 

 

 

저 토요일에 주목해주시면 감사하겠습니다

 

제가 하고있던 iOS 스터디는 매주 토요일에 있었습니다. 토요일을 주목해주시면....커밋이 1개씩 있는것인데요

그때 당시에는 학원일을 하고있던지라 토요일 오전에 학원일을 마치고 강남으로 달려갔었고 (추억회상)

2시 스터디가 시작이었는데 대략 한시쯤 도착해서 카페에서 밥 먹고... + 블로그 포스팅까지!

 

물론 한시간만에 글을 썼다는것은 아니고, 그 블로그 한개에 일주일의 대부분을 갈아넣었어야 했습니다. 

또, 사이드프로젝트와 해커톤 등등에 참여하면서 주니어 레벨로의 도약을 위해 열심히 살았었던것 같습니다

*이전까지는 주니어도 아니었단 뜻

 

그리고 정말 감사하게도 이번 프로젝트에서는 혼자 iOS 개발을 하지 않았고 iOS팀원이 무려 세명이나 되었습니다. 정말 감사...

대표 기능 소개

플레이스픽은 <그룹 내의 장소공유 플랫폼>입니다. 여기에서 그룹이란 회사가 될 수도 있고, 회사 내의 팀이 될 수 있고, 친구들끼리 그룹을 만들수도 있습니다. 어뷰징이나 광고형태를 최대한 막아 신뢰성있는 정보공유를 하는 서비스입니다.

 

앱 이미지

 

검색, 필터링 등 기능구현을 열심히 해냈습니다. 방금 보고 왔는데 조금 버그가 있네요 ^-^;; 시간날때 고치겠습니다

 

어려웠던 점

이런 서비스이고, 가장 어려웠던 것, 그리고 아직도 버그가 있는 뷰는 바로 내 정보 탭입니다.

 

 

마이페이지 뷰

 

 

인스타그램의 마이페이지와 같은 구성입니다. 

지금은 아니지만 초기에는 이 뷰를 컬렉션뷰로 구현했습니다.

(가장 바깥 Vertical 테이블 뷰 ----> Horizontal 컬렉션뷰 -----> Vertical 컬렉션뷰)

서버리스하게 동작이 잘 되나, 서버를 붙이면 문제가 생겼습니다. 구조가 너무 어려워서 유지보수도 안 될것 같았습니다.

 

장소를 저장하거나 글을 쓰고 나면 해당 탭에 새로운 Cell이 생기면서 nested된 컬렉션뷰들의 셀 사이즈가 변동이 생기게 되는데

그 경우를 관찰해서 동적으로 사이즈를 크게 또는 작게 하지 못하는 문제가 생겼습니다.

그때 당시 알고 있었던 비동기 사이즈 변경 방법이란 `reloadData()` 류들의 메서드 뿐이였고

리로드로는 깔끔하게 문제를 해결할 수 없고 문제가 해결되지 않아서 뷰를 새로 구성했습니다.

 

그런데 그것도 문제가 있습니다(...)  똑같은 문제. 

문제 고찰을 꽤 많이 해보았습니다. 잘 들여다보면 이 뷰에서 서버통신을 할 구석이 총 3군데입니다.

 

 

첫번째, 두번째, 세번째 총 세개의 서버통신을 해야 하는데, 당연히 서버통신이 언제, 어느것이 먼저 끝나는지 보장할 수 없고

서버통신이 끝나고 뷰를 그리는 그 시점에 메인 큐에 들어가는 순서 또한 일정하게 유지가 되어야 한다고 생각합니다.

따라서 단순히 reload()로는 뷰를 정상적으로 그려내기 어렵다고 생각했습니다.

 

(생글) << 의 해결방법을 링크합니다. 같은 구조와 같은 라이브러리를 사용했습니다.

2021/02/28 - [프로젝트 후기] - [생글] 개발 후기

 

마치며

처음으로 팀을 이뤄서 했던 프로젝트입니다. 3인 팀 프로젝트였습니다.

앱잼을 하면서도 학원일을 하고 있어서 평일에 밤이 되어야 숙소에 돌아올수 있었고 주말에는 갑자기 학생분들 시험기간 대비로 끌려가기도 했던 등 개발쪽에 집중을 온전히 하지 못했습니다. 항상 생각한만큼 개발이 되지는 않는다라는 것을 몸소 겪은 프로젝트이기도 합니다.

 

3명 중 iOS 팀 리드로 참여하다보니 개발 외적으로도 일이 많았습니다. iOS 팀 회의, 개발팀 회의, 전체 팀 회의 회고 등 많은 회의가 있었고 git-flow를 사용해서 최대한 컨필릭트가 안날려고 했지만 하루이틀을 통째로 날려버린 컨필릭트도 있었고(...)

팀프로젝트를 해보지 않으면 겪지못할 일을 많이 겪고 열심히 성장한 것 같습니다.

 

앞으로 작성할 글이 많은데, 시간 순서로 작성하고 있습니다. 오늘도 읽어주셔서 감사합니다!

 

'프로젝트 후기' 카테고리의 다른 글

[Tost] 개발 후기  (2) 2021.02.28
[애플워치 프로젝트] 개발 후기  (2) 2021.02.28
[생글] 개발 후기  (2) 2021.02.28