[부스트캠프] 프로젝트 설계 삽질

김세영·2022년 11월 8일
1

boostcamp

목록 보기
1/3
post-thumbnail

그룹프로젝트 첫 날, 팀원들과 함께 서버를 어떻게 처리할지에 대한 회의를 진행하였습니다.

iOS 앱 개발이다 보니 처음에는 서버를 간단하게 만들고 시작하면 어떨까 라고 생각했는데,
설계를 하다 보니 완벽한 서비스를 만들고 싶어서 결국 구체적인 서버 스펙이 슬슬 나오기 시작했습니다.

Firebase vs. HTTP

앱에서 Firebase DB에 HTTP 요청을 보내볼까요?

처음엔 기본적으로 HTTP 요청을 모두 생각하고 있었기 때문에, Firebase의 구체적인 스펙을 생각하지 않고 서버 ER 다이어그램을 작성했습니다. 작성한 후 문득 "Firebase에 일반적인 서버처럼 기능을 붙일 수 있을까?"라는 생각이 팀원 모두의 머리속에 스쳐 지나갔습니다.

결론은 되긴 되는데 굉장히 힘들다였습니다. Firebase Functions를 사용하여 HTTP 요청을 받고, 자바스크립트로 처리한다면 테이블(컬렉션)을 수정할 수 있고, 여러 기능을 사용할 수는 있었습니다.

하지만 앱 개발을 하기 위해 모였고, 주어진 시간은 길지 않은데 거기다가 자바스크립트로 된 서버를 작성해야 한다는 것은 많이 무리가 있어 보였습니다. 그래서 여러 방법을 생각해 보았지만 결국 HTTP 요청을 하자는 쪽으로 의견이 다시 모아졌습니다.

멘토링

멘토님은 어떻게 생각하시나요?

멘토링을 받고 난 후 팀원들의 표정을 보니 모두 조금 충격을 받았던 것 같습니다.

멘토님께서는 "아키텍처를 잘 사용하면, 서버가 Firebase SDK이던 HTTP 요청이던 Mock DataSource이던지간에 상관 없지 않을까요?" 라는 말씀을 주셨습니다.

서버를 설계하면서부터 갖고 있던 생각이기는 했지만, 사실 이틀동안 서버에 대한 고민만 하다 보니 그 생각들이 다 사라져 있던 상태였고, 너무 앱 개발자답지 못했다는 생각이 들었습니다.

또한 저도 팀원들한테 계속 서버를 설계해보자는 이야기를 꺼냈기 때문에 팀원분들에게 죄송한 마음도 들었습니다.
팀원분들 모두 그러한 생각을 갖고 계셨고, 제가 "오히려 프로젝트 시작 2일차만에 이만한 문제가 나오고 해결을 했다는 것을 다행으로 생각하자" 라고 말씀드렸더니 모두 끄덕이시면서 동의하셨습니다.

다음 계획

내일(11/9)은 다시 앱 개발자로 돌아가서 앱에 대한 설계를 시작해보고자 합니다.

멘토님이 해주신 말씀처럼 "아키텍처를 왜 사용하는지 한 번 고민해봐라"를 계속 떠올리면서 설계를 해봐야 할 것 같습니다.

profile
초보 iOS 개발자입니다ㅏ

1개의 댓글

comment-user-thumbnail
2022년 11월 14일

글 잘 읽고 갑니다! 부스트캠프 저도 나중에 꼭 해보고싶네요 :)

답글 달기