4주 프로젝트 '모두의 이력서'를 마치며

Fleuve·2021년 2월 11일
1
post-thumbnail

Intro

코드스테이츠의 마지막 4주 프로젝트가 끝이 났다.

이번 프로젝트에서는 팀장이자 풀 스택 포지션을 맡아 진행을 하게 되었고, 그에 대한 회고록을 작성해 보려고 한다.

🙋 서비스 소개

모두의 이력서는 누구나 빠르고 간단하게 이력서를 작성하고 관리할 수 있는 서비스이다.
비회원도 이력서를 작성할 수 있고 소셜 계정으로 가입을 한 유저는 여러 개의 이력서를 작성하고 관리할 수 있다.
이력서 작성 시에 작성한 내용을 제공된 이력서 양식으로 바로 볼 수 있고 미리 보기를 통해 PDF의
파일 형식으로도 볼 수 있으며 PDF로 다운받을 수도 있다.

👉 배포 링크!

⚙️ Stack

사용된 기술 스택으로는 프론트에서는 React를 사용하여 화면을 개발하였고 정적 타이핑을 위한 TypeScript, 상태관리를 위한 Redux와 사이드 이펙트를 쉽게 관리하기 위해 Redux-Saga를 사용하였다. 여기서 팀원 전체가 Redux, Redux-Saga를 다룰 줄 아는 것이 아니었기 때문에 TypeScript까지 사용하는 것에 대해 많이 고민했었다. 그래도 사용을 해보자는 의견이 많았고 결국 사용하기로 하였다. 백에서는 Node.js/express를 사용하여 서버를 개발하였다. 우리의 서비스 특성상 유저마다 입력하는 데이터가 다 다르기 때문에 관계형 데이터베이스보다는 NoSQL을 사용하는 것이 더 효율적이라고 판단하여 MongoDB를 사용하였다. 그리고 이미지 업로드를 위한 Multer와 유저 인증을 위한 수단으로 JWT를 사용하였다.
그리고 배포에는 https를 사용하기 위해 프론트와 백 모두 SSL 인증서 발급 후 Route 53을 통해 S3와 EC2를 이용해 배포를 진행하였다.

문서화의 중요성

이번 프로젝트를 하면서 문서화를 하는 데 있어서 많은 시간을 투자하였다. 2주 프로젝트에서는 그냥 구현하면서 문서를 수정했다면 이번에는 문서화를 처음부터 신경 썼었던 것 같다. 그런데도 잘 지켜지지 않았던 부분이 있어서 많이 아쉬웠다. 아무래도 다들 개인 프로젝트가 더 익숙하다 보니 자신만의 코딩 스타일들이 있었고 조금 디테일하게 팀 룰을 설정해야 했었는데 기능적인 부분에 신경을 많이 쓰다 보니 문서가 부분적으로 디테일하지 못했고 커밋 메시지나 클래스 명들의 스타일이 다 제각각 된 것을 발견하였다. 물론 별거 아닐 수는 있지만, 한번은 코드 수정을 하기 위해 클래스 명을 찾는데 검색을 해도 해당 클래스가 나오지 않아서 일일이 찾았었다. 간단한 코드 수정이었지만 생각보다 많은 시간을 허비하게 되었다. 이번 일을 통해서 팀 룰을 정하는 것에 대한 필요성을 다시 한번 느끼게 되었다.

디자인 패턴에 대하여

이번에 프론트엔드 팀원분이 디자인 패턴에 대해서 신경을 많이 쓰셨다. presentational and container components 패턴을 사용하여 개발하였는데 가독성과 재사용성을 고려하여 커스텀 훅을 사용했다. 그런데 프로젝트가 끝나고 나서 한 팀원분이 디자인 패턴에 관한 글을 공유해 주셨다.

👉 블로그 링크

이 글을 읽고 나서 굳이 일일이 container를 통해 props를 내려줄 필요가 있었을까? 하는 의문이 들었다.

그리고 개인적으로 많이 아쉬웠던 부분은 Atomic 패턴으로 개발을 하지 않았다는 것이다. 분명 프로젝트를 진행하면서 반복되는 요소나 컴포넌트가 있었음에도 불구하고 재활용을 전혀 하지 못했다. 예를 들어 버튼 같은 경우에는 거의 동일한 스타일을 가지고 있었지만 컴포넌트마다 일일이 버튼의 스타일을 정의했고 중복코드가 많이 생겨버렸다. 이는 리팩토링을 통해서 수정해야겠다고 생각을 했다.

마무리하며

아쉬움이 큰 만큼 성취감도 컸던 프로젝트였다. 4주라는 시간 동안 자는 시간을 제외하고는 하루 종일 회의하고 코드만 쳤을 정도로 정말 열정적으로 했던 프로젝트였던 만큼 힘들었지만 좋은 팀원들과 함께 프로젝트를 진행하면서 너무 재미있었고 새로운 스택을 배울 수 있어서 많은 발전을 했던 프로젝트였다.
그리고 다시 한번 커뮤니케이션은 어렵다 하는 것을 느낄 수 있었고 내가 부족한 부분을 파악할 수 있었다. 앞으로 가야 할 길이 멀지만, 이번 프로젝트에서의 경험을 통해서 조금 더 내 목표에 한 발짝 다가갈 수 있었다. 마지막으로 나에게 많이 시달린 팀원들에게 진심으로 감사하다는 말을 하고 싶다 😂.

2개의 댓글

comment-user-thumbnail
2021년 2월 12일

너무 고생 많았던 우리 캡틴 ㅠㅠㅠㅠ 고생 많았고 당분간 푹 잡시다!!

답글 달기
comment-user-thumbnail
2021년 3월 30일

안녕하세요. 혹시 stack 그림은 어떤 툴을 사용해서 그리신 건지 알 수 있을까요???

답글 달기