백엔드 개발자(node.js)가 되는 과정

[WIL] 23. 07. 18 ~ 23. 07. 23 프로젝트 회고

soopy 2023. 7. 24. 20:15
728x90

과제 내용

  • 배민 앱과 같은 배달 서비스 홈페이지 구현
  • 고객이 특정 음식점에서 메뉴를 주문하면 음식점 주인이 주문을 접수하는 방식

주요 구현 내용

  • 고객 CRUD
  • 사장 CRUD
  • 음식점 CRUD
  • 각 음식점의 메뉴 CRUD
  • 주문내역 CRUD
  • 음식점 검색 기능

Keep

  • 프로젝트 시작 단계에서 폴더명과 파일명, 모델 migration 등 규칙이 필요한 부분을 사전에 정해두어서 대표 한 사람이 GitHub 레포지토리에 기본 틀로 정해둔 뒤 각자 맡은 역할을 수행한 점이 좋았다. (merge 시 conflict을 상당 수 방지할 수 있었습니다.)
  • 와이어프레임을 Figma를 활용하여 기존에 작성했던 방식보다 더욱 디테일하게 틀을 잡아두고서 프로젝트를 시작했기에 시각적으로 어떤 페이지, 어떤 버튼이 구현되어야 하는지를 직관적으로 받아들여질 수 있어서 프로젝트 소요 시간을 단축하는 효과를 볼 수 있었습니다.
  • 서로 작업한 코드를 합칠때마다 풀 리퀘스트/머지 하는 과정을 화면공유를 통해 같이 진행하면서 코드를 맞춰나가는 과정이 좋았습니다. 이는 각자 코드에 대한 이해를 공유하며 코드해석능력을 향상 시킬 수 있었다고 생각합니다.
  • 팀원들끼리 공유랑 소통이 잘되서 좋았습니다. 각자 담당한 역할에 대해 공유를 잘해주셔서 오류 수정이나 일정관리가 수월했고 서로의 컨디션을 확인하기에도 좋았던 것 같습니다.
  • 각자 구현한 기능을 서로에게 자주 공유하여 잦은 main branch 최신화를 통해 각자의 개발 환경을 최대한 일관성 있게 유지하며 프로젝트를 진행한 점
  • 프로젝트 특성 상 마감 기한이 있으므로 장시간 해결하지 못한 기능 구현에 대해서는 팀원에게 토스해서 혼자 끙끙 앓을 수도 있었던 시간을 줄였습니다.

Problem

  • 서로의 경험을 공유하는 "다같이 디버깅" 타임의 경우 (개인적으로는) 다같이 디버깅하는 시간보다 개인적으로 집중하는 시간이 좀 더 효율이 있었던 것 같다. (try) 그래서 다같이 디버깅 타임과 적절한 분량 배정을 통해 각자 디버깅하는 타임을 적절하게 배분하는 것이 좋을 것 같다.
  • 프론트 구현에 익숙하지 못하므로 상당 시간 할애했어야 했다는 점 (try) 그래도 그래도...프론트를 지은님 정도의 속도는 낼 수 있어야 되지 않을까...
  • 구현해야할 기능을 보고 어느 정도 소요 시간이 필요할지에 대한 견적을 잘 못내는 것 같다. (메타인지.. 부족)

Try

  • 다같이 디버깅 타임과 적절한 분량 배정을 통해 각자 디버깅하는 타임을 적절하게 배분하는 것이 좋을 것 같다.
  • 내가 특정 기능 구현에 있어 어느 정도 소요 시간이 걸리는지 의식적으로 파악해 둘 필요가 있을 것 같다.

느낀점

박민영

  • 내가 가장 자신 없는 프론트 영역을 잘하시는 분이 맡아주셔서 다행이었고, 덕분에 프론트 구현 방식을 어꺠너머로 배울 수 있었다. 개인 프로젝트와 비교했을 때 코드 스타일의 일관성을 유지하는 것은 어려웠지만 디코딩 과정에서 시간을 많이 절약할 수 있었다. 그래서 우물 안 개구리와 같은 시각으로 코드 작성하는 방식에서 조금은 벗어날 수 있게 된 것 같다.
  • 항상 백엔드를 먼저 구현한 뒤 프론트를 구현하는 과정에서 문제가 발생하는데, 이번에는 User.get 또는 Post.get과 같이 특정 테이블을 조회하는 API는 ejs 파일에 직접 랜더하는 방식으로 쓰이게 된다는 것에 좀 더 익숙해 진 것 같고, 앞으로 ejs와 같은 view 기반 프론트를 구현할 때는 ejs 페이지 접속 시 페이지 노출을 위한 백엔드 API 연결과 페이지 접속 후 상태 변경, 특정 기능 수행을 위한 백엔드 API 접근에 있어 코드 구현에 차이가 있으며 이를 고려해야 한다는 점을 체득하게 되었다. 그래서 향후 백엔드 API 구현 시 해당 API가 랜더링에 사용될 지 아니면 어떠한 기능에 사용될지에 대해서 사전에 팀프로젝트에서 조율을 해야겠다는 생각이 들었다.
  • Socket.io와 S3 bucket, multer를 프론트에 적용하지 못한 채 프로젝트가 마무리되어 아쉽다. 그래서 이후 개인적으로라도 추가 구현을 진행해 볼 생각이다.

민태영

  • 프로젝트의 기본이 되는 회원가입과 로그인기능을 담당하여 빠른 시일내로 완성해야만 한다는 압박감으로 에러처리를 잘 하지 못하여 아쉬웠다.
  • 고객과 사장님을 어떻게 구별을 할까 제일 고민이 컸다.
  • 프론트를 요즘 너무 안해서 프론트를 할 때 마다 기억을 되짚어야해서 힘들었다.
  • 이번에 너무 쉬운 기능을 담당한것 같아서 팀원들에게 미안하고 다음에는 좀 더 어려운 기능을 해보고싶다

김혜림

  • 부족한 부분이 많아 팀원들에게 피해가 갈까 계속 걱정했습니다. 걱정한 만큼 제가 할 수 있는 영역에서는 많이 노력하였지만 많이 부족했다고 생각합니다. 팀원들이 없었더라면 절대 혼자 구현하지 못했다는 걸 알고있습니다. 그만큼 더 성장해야겠다고 생각한 프로젝트였습니다. 부족함에도 같이 이끌어준 천사같은 팀원들에게 너무 감사합니다.

유지은

  • 지금까지 놓치고 있었던 부분들이 많았는데, 그때마다 세세한 부분까지 스윗하게 알려주시는 팀원 분들 덕분에 기술적으로 많은 성장을 한 것 같습니다.
  • 개인적으로 저번 주까지 의욕이 많이 떨어져 있었는데, 열심히 하시는 팀원 분들을 보고 자극 받아서 다시 열심히 하고자 하는 마음을 얻게 되었습니다.
728x90
728x90