EtoC
DCS - 1차 프로젝트 본문
작성일 : 2022-11-26
어느새 1차 프로젝트가 끝났는데 배운것도 많고 부족한것도 참 많은 첫프로젝트였다.
1. 기획과 ERD
우리팀이 모델링하게된 사이트는 술담화로 카테고리가 굉장히 많았다. 그래서 초반에 백엔드와 프론트가 함께 의논하여 어떤 기능을 넣을지 의논하였고 기획안을 통과하여 ERD 설계를 하였다.
ERD 설계는 백엔드셋이 만들어와서 공유하고 함께 만들었다. 여기까지 4일이 걸렸다.
2. 내가 맡은 역할
ERD 설계를 끝내고 각자 구현할 기능을 나누었는데,
내가 맡은 구현기능은 초기환경세팅과 로그인,회원가입API, 제품상세페이지API였다.
코로나때문에 시큐리티와 통신을 배우는 주를 날렸는데 감사하게도 백엔드팀원분들이 초기세팅과 로그인회원가입을 권해주셨다
또한 레이어드패턴이 이해가 가지않아 질문하자 한시간정도 자세하게 설명해 주셨다.
(알려주고 다시 설명해보라했을때의 그 버벅임이 아직도 생각난다^^)
덕분에 무사히 초기세팅도하고 레이어드 패턴을 이용하여 api를 만들 수 있었다.
3. 로그인/회원가입 기능구현
단순 로그인/회원가입의 구현은 금방 할 수 있었다.
문제는 회원탈퇴 기능을 한번 해보라고 하셔서 그 기능을 구현한다고 3일을 버렸다.
당시의 나는 JWT가 정말 이해가 가지않았고 이것을 어떻게 디코딩해야하는지에 굉장히 집착하였다.
팀원에게 물어보아도 굉장히 쉬운거라고 알려주면 3분이면 끝날거라고 혼자 해보는게 좋다고했는데 3일을 끙끙앓다가 갑자기 어라?라고 생각했다.
이유는 이미 내가 코드에 구현해 놓았다는것...!
난 아직 JWT를 제대로 이해하지 못했던거였다.
하지만 알고보니 왜 3분 컷이라고 헀는지 이해했다.
4. 추가기능 요청
문제는 여기부터였는데 정작해야할 기능을 구현 할 시간이 부족해졌는데
로우쿼리에대한 이해도도 낮아 상세페이지의 필터링하는데서 애를 먹었다.
그와중에 프론트와 소통을 하지않아 프론트에서는 만들었지만 백에서는빼기로한 기능을 만들어야했다.
닉네임 중복확인기능이였는데 10분만에 만들수 있었다.
요청시 데이터를 전부 보내고 거기서 프론트가 원하는 값을 꺼내쓸 수 있게 작성하였더는데,
그러면 서버비가 많이 나오기때문에 원하는 값만 보내주도록 바꿔보라고 멘토님께서 말씀해주셨다.
전송하는 데이터 하나하나가 다 돈이라니 생각할게 정말 많은것같다.
다음으로는 장바구니에 접속할때 로그인이 되어있는지 확인할수 있는 유틸을 만드는거였는데 여기서 하루를 사용했다.
결국 제품상세페이지는 다른분이 해주셨다.
5. 실제 내가 구현한 기능
로그인/ 회원가입/ 닉네임 중복확인/ 인증인가유틸리티만들기
6. 아쉬웠던점..
1. 일의 우선순위를 잘 생각하자.
회원탈퇴기능을 왜 꼭 해내야한다고 생각했었는지 모르겠다.
팀원분에게 정말 못하겠다고 하자 그건 추가기능구현인데 너무 오래생각하셨다는 말을 들었다.
정작 내가 구현해야할 제품상세페이지를 하려니 시간이 이틀 남았었고 쿼리문에대한 이해가 낮아 필터링을 어떻게 해야할지 막막했다.
결국 다른 팀원분이 만들어오셨고 ,제품상세페이지를 혼자서 완성하지못했다는점이 굉장히 아쉬웠다.
프로젝트가 끝나고 쿼리문에대한 공부를 많이 해야겠다.
2. 잘 좀 보자.
목데이터를 만들고 내가 DB를 연결했는데 연결이 안되는 일이 있었다.
문제는 첫번째줄의 경로에 비밀번호를 안써서였다...-.-;
3. 팀 소통의 부재.
첫프로젝트여서 백엔드와 프론트가 처음에 기획만 같이하고 데이터값을 어떻게 줄지, 엔드포인트는 어떻게 할지, 어떤기능이 들어가고 빠졌는지를 얘기하지않아서 프론트도 만든것을 싹 지우기도하고 백엔드는 더 구현하기도하는 일이 발생했다.
정말 쉬지않고 소통해야 한다는 것을 느꼈다.
7. 잘했던점
1. 백엔드끼리는 소통을 잘한것
각자 ERD를 작성해와서 왜 이렇게 생각했는지 의논하고 함께 ERD를 만들고 목데이터도 작성하였다.
초반에 갈피를 못잡고 질문도 많이하였고 에러가나면 함께 고민하며 아이디어를 제시하고 도왔다.