패스트캠퍼스 백엔드 과정 4기 부트캠프 #07. 파이널 프로젝트 중간회고 🗓️

yerim·2023년 6월 15일
0
post-thumbnail

Intro

과정수료를 2주 앞두고 남겨놓은 지금 파이널 프로젝트를 하느라 정신이 없다ㅠ ㅠ
정말 올해는 살면서 가장 빠르게 지난것같다.. 벌써 여름이라니 ㅠ ㅠ
패캠을 들어오게 된 가장 큰 이유 ! 기업 연계 프로젝트를 지금 진행하고 있다.

패캠의 파이널 프로젝트는 BE+FE+UX/UI+PM이 다같이 하는 팀프로젝트다.
특히 PM분들과 UX/UI분들과의 첫협업인데 저번 미니프로젝트에서는 UI로인한 아쉬움, 기획의 부족함으로 인한 아쉬움들이 꽉꽉 채워지는 느낌이랄까?

나는 1순위로 선택한 기업프로젝트에 참여하게 되었다 🙂
좋은 기업들도 많았지만 나는 자유도가 높은 프로젝트에 참여해서 생각지 못했던 기능들도 해보고 싶었기 때문이다

파이널의 조편성은 프로젝트 참여 기업들의 소개를 보고 원하는 기업을 3순위까지 결정해서 설문참여를 하면 매니저님들이 조절해서 조편성을 해준다.
1순위로 넣은 기업들이 경쟁률이 높다면 과정참여도로 결정하신다니 패캠 부트캠프에 참여하시는 분들은 참고하시길

프로젝트 설계

프로젝트 소개

옷장정리 서비스를 지원하는 열다 기업의 어드민 자동화, 웹페이지 구축을 요구사항으로 프로젝트를 진행하고 있다.
주요기능으로는 예약 폼 접수, 매니저 지원폼 접수, 매니저 매칭(자동화), 알림톡 전송(프로세스에 맞게 자동전송), 예약관리, 고객관리, 리뷰관리 등이 있다. (이 부분에 대해서는 프로젝트 마무리 후 자세하게 포스팅 할 예정이다)

기술스택


저번 미니 프로젝트에서는 인프라 구축을 너무 늦게해 아쉬운 점이 많아 이번 프로젝트에서는 처음 시작할때부터 인프라 구축을 하고 시작했다..
근데 너무 빨리해서 비용은 많이 나오는데 ... 초반에는 프론트 분들이 웹페이지 제작하시느라 API를 쓰지 않았어서 아쉬운 부분이다.
그 외에 리뷰 이미지를 저장하는 S3, 배포시 필요한 EC2, 로드밸런서 등의 기술을 사용중이다 !

주요 Flow Chart


ERD


몇 번의 수정을 거듭하고 비로소 틀이 잡힌 ERD이다.
처음에 요구사항에 예약폼을 어드민이 수정할 수 있다. 라는 조건이 있어서 예약폼을 저런식으로 설계해놨는데 시간관계상 예약폼은 수정할 수 없고 고정으로 갈 것 같다.

모든 테이블이 다 중요하지만 특히 매니저 테이블은 설계할때 고민이 많았다.
하나의 매니저는 활동요일과 활동지역을 여러개 선택할 수 있다.
하지만 활동요일과 활동지역은 한정되어 있어 ManyToMany관계가 되어서 테이블을 어떻게 쪼갤까 ~~~ 고민하다 나온 결과이다.
활동요일에는 True False로 True인 요일들만 표시하는 방식으로,
매칭에 필요한 Area테이블은 중간테이블(AreaManager)를 둬 ManyToMany를 풀어줬다
팀원분이 활동요일테이블 아이디어를 내주셨는디 정말 난 듣고 천재라고 생각했다..💡
그리고 팀장님은 AreaManager에 ID값은 따로 두지 말고 복합키로 관리해서 중복되는 데이터가 없게 설계하자고 하셨는데 지금와서 보니 저것도 신의한수였다! 🤩

하나의 예약이 들어오면 서비스 주소에 맞는 지역의 매니저들의 Match데이터가 생성되고 그 안에 매칭정보를 저장해둔다.

나머지테이블들은 일반적인 관계들이라 따로 설명은 하지 않겠다 ~!

마무리

파이널도 거의 반이 지났다.
사실 이번주까지는 거의 프론트 백 따로따로 작업했는데 내일부터는 본격적으로 프론트랑 합치는 작업을 많이 할 것 같다.
바쁘겠지만 우리팀원분들은 모두 열심히 해주셔서 트러블 하나없이 순조롭게 진행중이다 🙂
이번 프로젝트를 하며 마지막으로 많은 배움을 얻어가 모두들 좋은곳에 취업했으면 좋겠다 !
화이팅화이팅

0개의 댓글