본문 바로가기

WEB 프로젝트

1. 웹 프로젝트 시작

2021년 8월, 1년 전 처음으로 프로젝트라는 것에 참여하게 되었다. 프로젝트를 진행하면서 개발팀이 함께 공유하는 플랫폼에서 기록해왔기 때문에 따로 기록을 남기지는 않았었다. 하지만 그 외에 내가 느낀 것, 배운 것을 늦게나마 기록하는 것이 의미있다고 생각하여 이렇게 천천히 기록해나가려 한다. 


이미 2년여간 운영되고 있는 서비스를 웹과 어플을 통해 더 고도화 하고 싶었던 한 프로젝트 팀에서 개발팀을 구인하고 있었고, 당시 프로젝트 경험이 전무했던 나는 밑져야 본전이라는 생각으로 지원했었다. 지금 생각해보면 그 때의 내 선택이 지금의 나를 만들었다고 할 정도로 1년간 많을 것을 함께 배우며 성장한 것 같다. 개발팀은 3명으로 이루어져 있었고, (지금도 마찬가지이다.) 당시 우리 세명이 다룰 수 있었던 언어는 각자 java, python, c++ 중 몇 개씩, 그리고 javascript가 다였고 프로젝트 경험도 많지 않았다. 이런 우리에게 운영팀이 던져주었던 "웹사이트 기획안"은 꽤 막막하게 느껴졌었다. 

 

처음 개발팀 내에서 논의했던 내용은 어떤 프레임워크를 사용할지, 백엔드를 어떻게 관리할지 이 두가지였다. 프레임워크의 경우 세명 모두 제대로 다루어 본 경험이 없었던지라 가장 보편적인 react와 vue.js 중에서 고민했었다. 한 주간 개인적으로 의견을 정리할 시간을 가지고 우리가 선택했던 프레임워크는 vue.js였다. 당시 react보다 익히기 빠르다는 평이 많았고, 우리가 백엔드 서비스 중 선택한 firebase와 vue.js를 같이 다루는 적당한 강의를 발견했었기 때문에 vue.js를 선택하게 되었다. 우리에게 그 당시 중요했던 것은 최대한 빠르게 웹을 완성하는 것이었기 때문에 속도와 효율에 집중했던 것 같다. 언급했듯이 백엔드 서비스로 firebase를 선택하게 된 이유는 크게 없었다. 가장 커뮤니티가 잘 되어 있기도 하고 로그인부터 db, 그때는 몰랐지만 추후 어플을 만드는 과정에서 사용했던 fcm 알림까지 사용성이 너무 좋았다. 백엔드까지 구축하기에는 무리가 있어 firebase로 시작하게 되었고 지금 완성된 어플 역시 firebase를 기반으로 하고 있다. 하지만 최근, 이미지를 불러오는데 점점 속도가 느려지는 문제가 발생하고 있어 백엔드 공부를 시작했다. 

 

8월 한 달 간은 웹을 어떻게 만들어 나갈 것인지, 협업하는 방식, 주요 기능 등 실제 개발하는 것보다는 회의와 논의를 통해 맞추어 나가는 시간을 보냈었다. 특히 나는 운영팀, 디자인팀, 개발팀 이렇게 역할이 나누어져 있는 조직에서 프로젝트를 해 본 것이 처음이었기 때문에 각 팀 내에서 그리고 팀 간 의사소통하는 방식을 맞추어 나갔던 시간이 인상깊었다. 지금까지 우리가 주로 사용하고 있는 플랫폼은 "Slack"이며 올해 초 "Notion"을 통해 본격적으로 아카이빙을 시작했고 그 이전에는 구글 드라이브를 통해 아카이빙 해왔었다. 그 이외에도 우리 팀의 마인드가 새로운 것을 계속 써보고 경험해보자는 마인드였기 때문에 와이어프레임과 플로우 차트를 공유할 때도, 디자인팀에게 디자인을 받을 때도 여러 개의 툴을 사용했었다. (지금까지 "whimsical", "Figma", "miro",  "Zeplin", "Adobe XD" 등의 툴을 사용해봤다) 다양한 툴을 사용하면서 대면, 비대면을 오가며 의사소통하고 피드백을 주는 과정에서 더 효율적이고 정확하게 전달할 수 있는 방법을 고민해왔고 그 과정에서 협업하는 방법을 많이 배웠던 것 같다. 다시 돌아가서 팀 내 협업의 경우 개발팀은 당연하게 깃과 깃헙을 사용하여 협업했다. 웹을 완성할 때까지 우리가 사용했던 깃을 사용한 협업 방식을 merge로 협업하는 방식이었다. 히스토리가 깨끗하게 정리되는 방법은 아니었으나 깃을 활용한 협업이 익숙하지 않아 함께 배우면서 공부했다. 각자의 계정을 이용하면서 fork하지 않고 pull, push, pull request를 이용하는 방식으로 협업했다. 최근에는 git flow로 협업 방식을 바꾸었는데, 이에 대해서는 따로 게시물을 올리겠다. 

 

최종적으로 8월에는 웹에 로그인/회원가입, 설문 업로드 및 주요 서비스가 실행되는 페이지, 결제 시스템이 들어가야 한다는 결론을 도출하고 이를 구현하기 위한 방법을 각자 파트를 나누어 공부했었다. 결론을 먼저 말하자면 결제 시스템은 사업자 등록이 되어있어야 가능했기 때문에 당시 사업자 등록이 되어 있지 않았던 우리는 여러 번의 시도 끝에 결제 시스템 도입에는 실패했었다.

 

여기까지가 웹 프로젝트를 시작한 첫 한 달 간의 기록이다. 이렇게 정리하니 꽤 우여곡절을 거듭했던 것 같다. 

 

vue.js를 처음 다루었던 기록