새소식

인기 검색어

네이버 부스트캠프

부스트캠프 웹·모바일 8기 그룹프로젝트 1주차 회고

  • -

외부 라이브러리 금지

그룹프로젝트의 요구사항이 공개되었다.

iOS 파트에서 요구하는 것은 바로 외부 라이브러리 사용 금지였다.

사실 어느정도 예상을 했었던것이 멤버십 기간동안 받은 미션들이 외부 라이브러리 사용 금지였기 때문이다.

그래서 우리는 당연하게도 다른 파트들 또한 외부 라이브러리를 금지한 상태에서 미션을 진행한줄 알았다.

하지만 알고보니 iOS 파트에서만 이런 제한이 있었다는걸 이번 그룹프로젝트를 통해 알게되었다…

외부 라이브러리를 사용하지 않았기에 실력 향상은 정말 많이 되었지만 우리만 그런 제한사항이 있었다는것을

알게되니 뒷통수를 맞은 느낌이였다 …

앱 기획하기

그룹 프로젝트를 진행하기 위해 어떤것을 개발할지 회의를 했다.

우리는 6주라는 기간 동안 어떤 기술적 도전을 할지 또 어떻게 완성도 있는 서비스를 개발하지 고민하게 되었다.

마침 네이버 클라우드에서 부스트캠프 전용 크레딧을 지원해주신다고 하셔서 서버비용에 대한 걱정이 없어졌기에

하고 싶은 주제에 대해서 이야기 해보도록 했다.

6기, 7기분들이 진행한 프로젝트도 확인해보고 실제 서비스하고 있는 중인 것들을 보면서 각자 어떤 서비스를 하면 좋을지에 대해 이야기했다.

다양한 서비스들이 나왔는데 이미 시중에 나와 있는 서비스들이였기에 주제로 확정하기엔

조금 애매한 분위기가 지속 되었다.

주제에 대한 이야기로 계속해서 늘어지자 나는 기획에서 이렇게 시간을 쏟는게 맞나라는 의문이 들었다.

이미 다양한 서비스들이 나와있고 우리는 기획을 목표로 하는것이 아니라 개발을 목표로 하는 것이라

생각해서 기획에서 고민하는 시간을 줄이고 싶었고 팀원들에게도 빠르게 주제를 확정하는 것이 어떠냐고

의견을 물어보았다. 팀원들도 다들 동의해주어서 빠르게 이미 나와있는 서비스들 중 하고싶은 서비스들을

확정 지었고 그중에서 지도와 인스타그램을 합치고 게임적인 요소를 추가한 SNS 서비스를 만들기로 했다.

이를 선택한 이유는

iOS는 기술적 도전으로 RIBs와 모듈화에 더해서 MapKit을 활용한 위치기반 서비스를 도전해보고 싶었고

백엔드 분들의 목표는 프론트엔드와의 협업 경험, AI를 활용한 서비스, 서버의 유지보수 경험을 원했기 때문이였다.

앱 상세기획 및 디자인

앱의 주제를 빠르게 확정지어서 상세기획을 위한 회의를 했다.

상세기획이 빠르게 끝내야 디자인과 API를 만들 수 있기 때문이였다.

우리는 이미 있는 서비스들을 융합한것이라서 상세기획을 비교적 빠르게 끝낼 수 있었다.

인스타그램과 네이버지도의 서비스들을 참고하여 상세기획을 완료하였고

디자인은 다른 네이버지도나 인스타그램같은 사용자가 많은 서비스들을 참고하여 빠르게 완료하였다.

디자인을 끝내고 나서 백엔드 분들이 작업하기 쉽게 대략적인 API 문서를 만들었다.

API문서를 다 만들고 나서 백엔드분들은 서버를 구축하기 시작했고 iOS도 프로젝트 세팅을 시작했다.

페어프로그래밍

Tuist를 활용하여 프로젝트 구조를 완성하였다.

프로젝트가 다 나뉘어져있어서 프로젝트 파일로 인한 오류는 발생하지 않게되었지만

각자의 코딩 스타일이 달라서 나중에 다른 사람의 코드를 읽거나 작업을 이어받았을 때

흐름을 읽기 어려울 것 같아 코드 컨벤션을 맞추기 위해 1주차는 셋이서 페어프로그래밍으로 진행하는 것을 제의했다.

다들 페어프로그래밍을 경험해보아서 시간이 오래 걸릴것이란 것은 알지만

나는 RIBs와 Tuist를 처음 경험해보아서 이 시간이 꼭 필요하다고 생각했고 다른 팀원 두분 모두 흔쾌히 동의해주셨다.

우리는 실력차이가 어느정도 있었기에 페어프로그래밍을 할때는 A가 네비게이터 역할을 해주시고

B와 내가 드라이버의 역할을 했다.

  • A - 현업 1년차. RIBs, Tuist 사용 경험 있음
  • B - iOS 개발 6개월차. RIBs, Tuist 사용 경험 없음
  • 나 - iOS 개발 1년차, RIBs, Tuist 사용 경험 없음

첫날엔 예상대로 정말 많은 시간이 걸렸다.

나는 RIBs를 인터미션기간에 어느정도 공부를 해와서 적용하는게 어렵지 않았지만 반대로

Tuist를 처음 사용해보아서 외부라이브러리를 추가하거나 프로젝트 셋팅을 하는 것이 어려웠었다.

하지만 페어프로그래밍을 통해 Tuist를 경험해본 A가 잘 알려주어 금방 사용법을 익힐 수 있었다.

같이 Naver를 통한 Login을 하는 부분까지 페어프로그래밍으로 개발하고

그 다음부터는 화면단위로 나누어 개발을 진행하기로 했다.

페어프로그래밍으로 인해 시간이 정말 오래걸렸지만 각자의 스타일이나 생각을 알 수 있는

시간이였어서 결과적으로 우리 셋 모두 만족할 수 있었다.

회의록 및 디자인

[기획 회의] 10월 11일 (수)

 

[기획 회의] 10월 11일 (수)

🔥 여러분이 머문 자리에 따뜻한 온기를 남겨보세요 - 위치기반 SNS 서비스. Contribute to boostcampwm2023/iOS04-HeatPick development by creating an account on GitHub.

github.com

[기획 회의] 10월 12일 (목)

 

[기획 회의] 10월 12일 (목)

🔥 여러분이 머문 자리에 따뜻한 온기를 남겨보세요 - 위치기반 SNS 서비스. Contribute to boostcampwm2023/iOS04-HeatPick development by creating an account on GitHub.

github.com

[기획 회의] 10월 17일 (화)

 

[기획 회의] 10월 17일 (화)

🔥 여러분이 머문 자리에 따뜻한 온기를 남겨보세요 - 위치기반 SNS 서비스. Contribute to boostcampwm2023/iOS04-HeatPick development by creating an account on GitHub.

github.com

[기획 회의] 10월 24일 (화)

 

[기획 회의] 10월 24일 (화)

🔥 여러분이 머문 자리에 따뜻한 온기를 남겨보세요 - 위치기반 SNS 서비스. Contribute to boostcampwm2023/iOS04-HeatPick development by creating an account on GitHub.

github.com

🔥 HeatPick API | Notion

 

🔥 HeatPick API | Notion

Backlog

junbok97.notion.site

https://www.figma.com/file/sKuM4zMuSVKnHoZzEppqOV/부스트캠프-그룹-프로젝트?type=design&node-id=0%3A1&mode=design&t=SIloOfX3kCUMJh6u-1

[1주차 개인 회고] 이준복

 

[1주차 개인 회고] 이준복

🔥 여러분이 머문 자리에 따뜻한 온기를 남겨보세요 - 위치기반 SNS 서비스. Contribute to boostcampwm2023/iOS04-HeatPick development by creating an account on GitHub.

github.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.