[회고] 패스트파이브 기업과제 회고록 🏢

summerlee·2022년 12월 29일
1

프로젝트

목록 보기
3/3
해당 프로젝트는 '패스트파이브' 에서 직접 제공받은 기획문서를 토대로, DB 모델링 설계부터 기능 구현 등 모든 부분을 팀원들과 소통하며 직접 코드를 짠 프로젝트이며 상업적인 이용 목적 또한 없음을 밝힙니다.

우리팀이 만든 최종 결과물 일부 캡쳐

1. 패스트파이브 기업 과제를 받다

패스트파이브에서 기획 문서를 직접 제공하여 그것을 토대로 기업 과제가 진행된다는 말을 들었을 땐 정말 신기했다. 실제로 패스트파이브 공간을 이용해본적도 있었고 돌아다니면서 패스트파이브 공간 및 건물도 많이 봤었기 때문에 친근하게 느껴졌었다. 이러한 경험 및 인식 덕분에 기업 과제에 대한 진입장벽이 그리 높지 않았던 것 같다 ㅎ.ㅎ




2. 작업 기간

2022.12.12 ~ 2022.12.22 (약 2주)




3. 기술 스택 / 파트 분담

프론트엔드

HTML

React

SCSS

Javascript

백엔드

타입스크립트

Javascript, Express(Node.js), Mysql

dbmate(DB scheme 버전관리)

jsonwebtoken(토큰 발행)

bcryptjs(비밀번호 암호화)

multer (파일 업로드)

파트 분담

백엔드는 나를 포함 총 세명이었으며 다같이 ERD 모델링을 하고 여러차례 수정 뒤에 추합했다.

<우령(본인)>

로그인 API
회원가입 API
유저 정보 API
회사 및 멤버 요청 API
회사 및 멤버 요청 리스트 API
회원 등급 판별 API

<기현 님>

카테고리 API
댓글 CRUD API

<상윤 님>

회사 게시글 CRUD API
회사 게시글 폼 CRUD API
파일 업로드 관련 API




4. 최종 결과물

메인페이지

회원가입 및 로그인 페이지

게시글 & 댓글 & 필터 페이지




5. DB - ERD 모델링

우리 팀이 만든 ERD 모델링

먼저 기능 구현을 하기 전에 데이터 모델링 작업에 들어갔다. 백엔드 팀원들 각자 dbdiagram 사이트를 이용하여 모델링 작업을 해본 뒤 여러 회의를 거치고 거쳐 의견이 맞는 부분을 취합하여 완성했다.




6. 어려웠던 점

이전에는 SQL JOIN이 가장 어려웠는데 이번에는 그래도 수월하게 진행했다. 공부한 보람이 있었다 🤗 하지만 이번에 어려웠던 점은 여러 테이블과 엮여 있는 테이블을 활용하여 API 를 만드는 것이었다. 특히 나는 회사/멤버 요청 및 리스트 API를 만들게 되었는데 이 부분이 여러 테이블과 엮여 있어서 어떻게 접근하고 어떻게 활용해야 효율성 있게 코드를 짤 수 있을지에 대한 고민을 많이 했다. 팀원들에게 도움을 요청해서 같이 머리를 굴려보기도 했다. 결국 원하는 결과물을 낼 수 있었지만 더 깔끔하고 효율적인 방법이 있지 않을까? 하는 의문은 아직도 든다.




7. 협업 방식

- 트렐로 (Trello)

이전에 트렐로를 사용했는데 너무 편리하고 좋았었던 기억이 있었다. 그래서 이번에도 역시 트렐로의 보드 기능을 활용하여 각자 일정 정리 및 공유를 했다.

우리 팀 트렐로

- 디스코드 (Discord)

우리팀은 디스코드 채널을 따로 만들어 그때그때 회의나 질의응답을 하고 여러 자료 및 링크 공유도 했다. 확실히 소통의 속도가 빨랐고 어색함도 금방 사라졌다.

우리 팀 디스코드 (별명도 붙이고 채널도 꾸미고 놀았다✌️)



8. Postman 을 활용한 API 명세서

프론트엔드와 백엔드의 소통을 위해 API 명세서를 작성했다. 이전과 같이 포스트맨의 세이브 기능을 활용하여 어떤 양식으로 요청하고, 요청값 반환시에는 무슨 결과값이 나오는지에 대해 언제든지 쉽게 찾아볼 수 있도록 해서 프론트와 백 사이의 소통 효과를 극대화 했다. uri 엔드포인트와 결과값, 요청할 때 포함해야 하는 값에 대해 명시해놓으니 굳이 따로 그때그때 말해주지 않아도 되어 이러한 면에서 소통 시간을 줄일 수 있었다.




9. 이번 기업 과제를 통해 배운 점

9-1. 기획 문서

실제로 현업에서 보고 작업한다는 기획 문서를 처음 봤다 보니 어려운게 한 두가지가 아니었다. 문서를 보고 이해하는데만 시간이 꽤 걸렸다. 하지만 실제 기획 문서를 볼 기회가 없었을텐데 이번 기업 과제를 통해 경험할 수 있어 너무 좋았다. 생각보다 더 세세한 부분까지 설정하고 소통하는구나 싶었다.

9-2. 다양한 기능과 배포 경험

이번에는 내가 직접 배포를 맡았다. 이전에도 배포를 하긴 했지만 최종 배포는 다른분이 하셨었기에 나는 배포가 마냥 어렵게만 느껴졌었다. 하지만 이번에 배포 과정을 통해 AWS 배포의 흐름 및 다양한 용어에 대해서도 알게 되어 기뻤다. 또한 여러가지 기능이 있던 기획 문서다 보니 내가 직접 담당한 파트가 아니었어도 서로의 코드를 보며 '이 API는 이런 식으로 만들 수 있구나, 이렇게 접근 하는 방법도 있구나.' 같은 생각을 할 수 있던 좋은 기회였다.

9-3. 타입스크립트 활용

이번 프로젝트에서 백엔드는 타입스크립트를 활용하여 프로젝트를 진행했다. 처음 써보기도 했고 정말 꼭 배워보고 싶던거라 기대가 많았다. 확실히 초기 세팅 부터가 어렵게만 느껴졌지만 팀원분들이 서로서로 도와줘서 무사히 타입스크립트를 활용하여 프로젝트를 마칠 수 있었다. 타입스크립트.. 하나하나 타입을 지정해줘야하는게 어렵기도 했고 에러가 뜨면 답답하기도 했지만 너무 재미있는 것 같다. 프로젝트 내내 즐거웠다 😌



10. 마치며

확실히 지금까지 진행했던 클론 프로젝트와는 차원이 달랐다. 실제 기획 문서를 보고 처음부터 끝까지 모든걸 만드는 것과 이미 존재하는 홈페이지를 따라 만드는 것은 많은 차이가 있었다. 일단 우리가 만들 수 있는, 만들어야 하는 기능도 많았고 요구사항에 맞춰 만들기 위한 회의도 많이 했어야 했다. 프로젝트 중에 가장 힘들었던 프로젝트였다. 하지만 그렇다고 마냥 벅차고 괴롭지만은 않았다. 배운점도 많았고 무엇보다 좋은 사람들과 함께 였기에 재미있게 작업 할 수 있던 시간이었다. 우선 역대 프로젝트 중에서 가장 성장했다고 느낀 프로젝트가 이번 프로젝트였을 만큼 프리온보딩을 신청한 것을 후회하지 않는다~! 비록 아직은 작고 소중한 뉴비지만^^..이건 시작에 불과하니까.. 꼭 더 많이 배우고 성장하고 싶다. 특히 타입스크립트...정말정말 재미있었다! 더 깊게 배워보고 싶다!
함께 고생한 1팀 은또여러분^ㅡ^ 고생하셨고 많이 아끼고 사랑합니당 다음에 또 같이 플젝하기 약속한거 잊지마세요... 🥰

profile
완벽하지 않아도 기록하려고 노력하기 😅

0개의 댓글