1차 프로젝트 회고: Gamsung

BY Jung·2022년 1월 9일
0
post-thumbnail

프로젝트 소개

개요

삼성전자의 이커머스 웹사이트를 클로닝한 프로젝트임

개발 기간 및 인원

  • 기간 : 2021년 12월 27일 ~ 2022년 1월 7일
  • 인원 : 총 5명(프론트엔드 3명 / 백엔드 2명)

적용 기술

  • Front-end : React.js, Sass
  • Back-end : Python, Django, MySQL
  • 공통 : DBdiagram, RESTful API
  • 협업툴 : Github, Trello, Slack

담당 업무

회원가입 기능 구현

  • 정규표현식을 이용한 회원정보 필수 기입항목 검사
  • bcrypt를 이용한 회원 비밀번호 암호화

로그인 기능 구현

  • 로그인 성공 시 JWT 토큰 발행

장바구니 기능 구현

  • 장바구니의 전반적인 CRUD 기능 구현
  • 프론트로부터 post 요청이 들어올 시 get_or_create 메소드를 이용해 장바구니 담기 기능 구현

기타 유틸

  • 파이썬의 데코레이터를 이용한 로그인 체크 용도의 함수로직 구현
  • 회원가입 시 입력사항 정규표현식 검사 및 장바구니 담기 기능의 예외처리

회고

잘한 점

  • 기존에 실습한 경험을 토대로 로그인, 회원가입 기능을 이틀만에 구현해 다른 과제수행에 보다 많은 시간을 할애할 수 있었습니다.
  • 새로운 메소드를 습득하고 적용해봄으로써 공식문서, 개발자 블로그 등 다양한 소스를 이용해 필요한 것을 찾아내 사용할 수 있는 '야생성'을 기를 수 있었습니다.
  • 프론트엔드와 지속적으로 협업하며 서로가 서로에게 어떠한 요청이나 응답을 어떻게 보내는지 깨닫고 이해할 수 있었습니다.

개선할 점

  • Trello와 Slack을 활용해 팀원들과 적극적으로 소통하려는 자세는 가졌지만, 공부한 개발언어와 분야가 다른 팀원들과 소통하는 과정이 원활하지는 못했다고 생각합니다. 모두가 쉽게 이해할 수 있는 언어로 설명하는 연습이 필요합니다.
  • 처음으로 장바구니 로직을 구현해보면서 기본적인 기능은 구현해내었으나, 개인적으로 예외처리가 미흡하다고 느꼈습니다. 이커머스 웹사이트 특성 상 로직의 결함은 서비스하는 회사에 치명적인 결과를 안길 수도 있으므로 완전성을 기해야 합니다.
  • 당초 계획은 Scrum 방법론에 의거하여 프로젝트를 진행하려는 것이었으나, 실상은 waterfall 방식으로 진행되었다고 느낍니다. 이번 1차 프로젝트에서 기본적인 기능 구현을 해보았으니 이어지는 2차 프로젝트에선 기능을 보다 고도화하면서 agile 프로세스를 적용해보아야겠습니다.

마치며..

프로젝트 초기에 Database를 모델링하면서 저와 제 백엔드 파트너는 우리가 실제로 구현하게될 기능들에만 초점을 맞추는 우를 범했습니다. 그 결과 아래와 같이 아주 초라한(?) ERD Model이 완성되었고....

결국 담당 멘토님의 피드백을 받아 아래와 같이 수정하였습니다.

전에 비해 훨씬 개선된 양상을 보였지만, 프로젝트 후기에 접어들며 비로그인 회원의 장바구니 이용기능을 구현하려고 보니 users 테이블이 등록된 회원과 그렇지 않은 사용자로 구분되어야함을 깨닫게 됩니다. 결국 시간 상의 이유로 비로그인 회원의 장바구니 이용기능은 이번 프로젝트에서 제외되었습니다.

이번 실수를 통해 배운 점은 기획의 중요성 입니다.
기획이란 프로젝트에 있어 첫 단추를 꿰는 과정과도 같습니다. 첫 단추가 잘못 꿰어지면 그 이후의 단추들이 모두 어긋나듯이, 개발도 마찬가지로 기획이 잘못되면 ERD Model을 수정해야하고 이에 따라 작업하고 있던 Database도 모두 갱신되어야합니다. 즉, 먼 길을 돌고 돌아서 다시 원점으로 돌아가야 하는 것과 같습니다.

비록 개발자의 길에 뛰어든지 얼마되지 않았지만, 개발실력은 개인의 온전한 노력을 통해 향상될 수 있다고 믿습니다. 하지만 협업능력은 그렇지 않습니다. 개인과 개인이 만나 단체를 이루었을 때 비로소 발휘할 수 있고 또 연마할 수 있습니다. 협업의 첫 시작이 되는 기획의 중요성을 체감한 지금 저는 이번 실수를 통해 보다 넓은 시야로 전체 프로젝트를 관망할 수 있는 '기획하는 개발자'가 되고 싶습니다.

profile
Slow and steady wins the race

0개의 댓글