[엘리스 SW트랙 4기] 8주차 - 1차 프로젝트 (2)

랸나·2023년 5월 1일
0

1주차에 내가 마무리 한 내용들

  • 유저, 카테고리, 주문, 상품 API 명세서 (가안) 구성
  • Data Schema 가안 작성
  • bcrypt, jwt토큰을 이용한 유저 로그인 API 기능 구현
  • 유저 삭제, 유저 조회, 유저 정보 수정
  • 주문 api (주문 추가, 주문 상세 조회, 주문 수정, 주문 취소)
  • async handler 적용하여 try/catch문 반복 제거
  • 주문 상세 페이지네이션(완성도 50%정도..)
  • 재고 관리 기능(반 실패..)
    늘어나고 줄어드는 것은 구현했으나 재고가 0미만으로 떨어지는 경우 에러를 불러내고 싶었는데 어째서인지 에러가 호출이 안되고 재고가 무한으로 줄어들기만 했다. 도대체 뭐가 문젤까!...
    -> 우선 프론트엔드에서 재고가 마이너스가 되면 0으로 보이면서 품절처리가 되도록 급처방해주셨다 ㅠ. (대충 비둘기 목돌려서 날아가는 짤)

2주차에 진행한 내용들

가족상을 당해 화,수,목 3일정도 프로젝트에 참여치 못했다. 팀원분들께 양해를 구하고 엘리스측에도 서류 제출을 통해 출석인증을 했다. 슬픈 마음을 추스리고 금요일에 다시 합류했다. 그래도 1주차에 내가 맡은 부분을 빠르게 마무리했어서 다행이라고 생각했다.

  • PPT 발표 자료에 들어갈 세부 기능 작성
  • VM을 통한 서버 배포 작업
  • 관리자 페이지 multer 기능 관련 학습(문제 해결을 하진 못했다.)

이후 고도화 작업

우리 팀원은 프로젝트 발표까지 마치긴 했지만.. 우리 팀은 2차 프로젝트 시작 전까지 작동하지 않은 버그들을 수정하고 고도화 과정을 거치기로 했다. 앞으로 해야할 것들은 아래와 같다.

🐞 버그 / 리팩토링

  • 주문 재고관리 기능 완성
  • 서버에서 이미지 업로드가 되지 않는 버그(엑박) 해결
  • 상품 추가가 되지 않는 버그 해결
    로컬에서는 작동하고, 서버에서는 기능이 작동하지 않는것을 보아 아마 '경로' 관련한 버그인것 같다. 다른 팀은 Public 경로를 사용하는데 우리 팀에서는 해당 부분을 고려하지 않았던 것 같아서 아마 거기에 문제가 있는 것이 아닐까 싶다. 흠..

다른 팀들은 어떻게 이미지 업로드 기능을 구현했는지 참고해서 어떤 문제가 있는지 찾아나야 할 것 같다.

  • 코드 리팩토링 ( controller / service / model / router) 구조로 나누고 각 로직을 정확하게 필요한 곳에 구현하는 것이 필요하겠다.

🤓고도화

  • 구글/카카오 인증 로그인 구현
  • 키워드 검색기능
  • 상품 정렬 필터링 (최신순, 오래된순, 비싼가격 순, 저렴한순, 인기순..?등등)

깨달은 점

  • 확실히 나는 프론트엔드보다는 백엔드가 성향에 더 맞는 것 같다. ( 화면을 구현하는 것보다는 데이터 응답이 잘 도착했을 때 조금 더 희열이 느껴지는 편..!) 다만 CS 지식도 무지하고 배운 백엔드 언어라고는 Node.js 2~3주 찍먹뿐이니.. 갈길이 멀다. 그치만 재밌을 것 같다!
  • API를 설계할때 RESTful하게 작성하는 것은 생각보다 까다롭다. 신경써서 만들어야한다.
  • API를 프론트에서 바로 사용할 수 있도록 최대한 정제해서 보내야 한다.
  • 그리고 단순히 보내는 것에 그치지 않고 실제 서비스라면 퍼포먼스도 고려하고 작성해야함! (현재는 그냥..보내지는 것에 의의를 뒀다)

아쉬운 점

  • 중간에 부득이하게 상을 당해 부재했던 시간이 길었어서 기능에 더 기여하지 못한 것이 아쉬웠다. 하지만 어쩔수 없는 일이었으니..!
  • 백엔드가 다들 처음 하는 것이다보니 기능을 좀 많이 쳐내고 시작했던 것이 약간 아쉽다. (기능 뿐만 아니라 단순히 데이터를 동시에 다같이 응답으로 보내면 되는건데 간소화 한답시고 필수적인 정보들까지 빼버린 것들이 많아 아쉽다.)
  • 다른 분들의 코드를 리뷰하지 못했던 것이 아쉽다. 서로 맡은 부분은 책임감있게 해냈지만 이를 보고 소통하고 토론하는 시간을 갖지 못했다. 고도화 과정에는 다른분들의 코드를 좀 더 살펴보아야겠다.

앞으로 더 학습하고 싶은 점

  • RDB (mySQL)을 꼭 배워보고 ERD 설계를 직접 해보고싶다.
  • 서버 관련 지식을 더 습득하고 싶다. 이번에는 얼렁뚱땅.. 어떻게든 서버 배포를 하긴 했지만 사실 아직도 아무것도 모르겠다 ^__^ -> Docker, AWS,GCP.. 등등.. 더 공부하자.
  • 객체지향! 객체지향! 객체지향..!!! 더 깔끔하게.. 컴퓨터 조립을 하듯이 멋지게,깔끔하게 코드를 짜고싶다.
  • DB의 index 개념을 학습하고 활용해서 성능/퍼포먼스 부분을 개선시키고 싶다.

아직 조금 부끄러운 프로젝트지만.. 그래도 팀으로 뭔갈 만들어냈다는 것에 대해서 칭찬하고 싶고 뿌듯하다.
1차프로젝트 결과물 << 대견하다 내 자신..그리고 우리팀..!

profile
백엔드개발자

2개의 댓글

comment-user-thumbnail
2023년 6월 19일

비둘기 그림 너무 인상적입니다... 체고!!

1개의 답글