[기업협업 인턴] Sam's choice 프로젝트 리뷰

SammyJung·2021년 6월 9일
0
post-thumbnail

😎들어가며

어느덧 인썸니아에서 인턴으로 보낸 한 달이 훌쩍 지나갔다. 원래 프론트엔드 개발자로 시작하려 했었는데🧐 우연의 기회로 풀스택 개발 인턴을 하게 되었고, 이것도 새로운 기회다 싶어 도전해보게되었다.🤟 높은 진입 장벽에 여러번 깜깜한 동굴에서 부딪히기도 했지만만,언젠가는 개발자로써 부딪혀야 할 벽이라 생각했고 포기하지 않고 새로운 언어와 환경에 적응해나가면서 4주를 마무리 할 수 있었다.

🌷프로젝트 소개

  • full stact, 개인 프로젝트 쇼핑몰 웹/앱 구현

샘스초이스 프로젝트는 꽃 정기구독 서비스인 꾸까를 모티프로 한 웹앱으로 내가 골라주는 꽃구독 서비스로 기획을 했다.

개인 프로젝트로 백엔드와 프론트엔드 두 가지를 모두 구현하는 것이였기 때문에 개발 프로세스와 큰 플로우를 경험할 수 있었다.

프로젝트 기간 및 진행사항

2021.05.10 ~ 2021.06.03 4주간

일별 진행상황 슬랙으로 보고 및 질문
재택 근무로 프로젝트를 진행
매주 금요일 5시에 피드백

🛠기술스택

Back-end


front-end


주차별 피드백

매주 금요일 한 번씩 피드백을 듣기위해 사무실로 가서 공용노션에 팀원별 피드백을 정리했다.

  • 1주차: 기업 협업 첫 주차에 백엔드에 대한 부담감이 컸고, 초기셋팅과 데이터베이스 모델링을 하면서 한 주가 갔다. 코드를 한 줄도 작성하지 못했고, 같이 기업협업을 진행하는 팀원들도 부담감으로 많이 힘들어했던 한 주였다.

  • 2주차: CRUD api구현을 중심으로 작업을 했다. 관계 설정부터 serializer 사용까지 처음에는 익숙하지 않았는데 점점 알아가면서 get,post api를 구현해 나갔다.컬럼 추가 및 데이터 insert 완료

  • 3주차: 상품 리스트, 디테일 페이지 tailwind css써서 레이아웃 작업 후 카테고리별 기능구현 작업
    => 띄워쓰기 컨벤션,파일이름 통일성있게 수정 필요

  • 4주차: 장바구니 레이아웃 및 lineItem POST,GET API 구현, 코드리뷰 사항 수정 및 에러해결

중간중간 들었던 생각들:


예전에 Oracle SQL을 접했던 나로써는 ORM을 쓰는 것이 이해 되지 않았었다... 😐

"아니 SQL문 하나 쓰는게 뭐 그렇게 귀찮은 일이라고 왜 ORM을 쓰는거지?" 🤷‍이렇게 생각했는데 쓰다보니 초심자 입장에서는 ORM을 쓰는 것이 편하겠다는 생각이 들었다.

✨기능구현

  • 로그인,회원가입
  • 카테고리별 상품리스트
  • 상품디테일 페이지 수량조절
  • 추가 상품 총 금액 합계
  • 장바구니 get,post API

✌결과화면

1.카테고리별 상품리스트

  • 프레임워크7에서 제공하는 f7route와 f7router(현재의 route를 컴포넌트에 props로 넘겨주는 프로퍼티)를 이용해서 카테고리 id를 params로 받아올 수 있다.

참고) 프레임워크 공식문서
https://framework7.io/react/react-component-extensions.html#f7route-and-f7router

2.상품디테일 페이지 & 수량합계 기능

타입스크립트를 이번에 써보면서 데이터베이스 모델링할때 가격 컬럼을 확장성을 고려해서 decimal타입으로 설계했는데, 타입을 number로 바꿔주지 않아서 에러가 많이 났었다.수많은 타입 에러를 해결해 나가면서 구현해갔다.

3.전체 상품리스트

State로 view타입을 default 리스트 형에서
그리드 형으로 바꿀수 있도록 했다.

뷰 종류가 두 가지여서 삼항연산자를 이용했는데 항 하나에 컴포넌트를 분리해서 처리하면 더 깔끔한 코드를 작성할 수 있는데, 지금은 html코드가 통으로 들어가있어서 보기 좋지 않은 코드이다. 나중에 리팩토링 할 예정이다.

📝기업협업 최종 리뷰

🏋️‍ 끝까지 포기하지 말기

사실 프로젝트를 진행하면서 기존에 위코드 선배기수에서 만든 결과물을 보면서 나도 저렇게 까지 할 수 있을까? 라는 의문이 들었다. 잘해야만 한다는 압박감과 부담감 때문에 사실 중간에 포기하고 싶은 순간들이 여러번 있었다. 팀원들 앞에서도 광광 울고, 나 혼자있을 때도 작게 느껴지는 나의 실력 때문에 여러번 울었다..😭

2주차가 지나가고, 스스로 냉정하게 점검해 보면서 회사에서 나에게 주어진 태스크는 100인데 10밖에 하지 못한 것 같았다. 이런 부족한 스스로를 받아들이기 어려워 했던 것 같다.

결국, 회사 팀장님께도 사실대로 어려움을 공유했다. 팀장님께서 원래 처음에 다들 어려워하고 정~~~말 기초적인것도 질문 많이 해도 된다고 얘기해주셨고, 도와주신다는 말에 용기도 얻었고, 주변의 멘토님과 팀원들에게도 격려를 받으면서 끝까지 포기하지 않을 수 있었다.🤗

무엇보다도 포기하고 싶다는 순간이 들었을 때, 혼자 공원을 산책하면서 "잃을 것이 없을 때 내가 할 수 있는 더 어려운 선택을 하자"👊 라는 말이 생각 났다.
(이전에 헬로우봇 ceo 이수지님 인터뷰를 봤었는데 불현듯 떠오른 한 마디이다)

앞으로도 개발을 하면서 힘든 이번 프로젝트를 떠올릴 것 같다. 한 달이라는 기간동안 스스로의 한계를 극복했던 프로젝트로 이번 프로젝트를 기억할 것 같다.🧠

사실 프로젝트에 아쉬운점이 무척 많다 장바구니 기능구현도 완성하지 못했고, 내가 봐도 보기 어려운 코드들 투성이 이지만 끝까지 버틸 수 있었던 이유는 내가 지금은 10퍼센트 밖에 못했어도 하루하루 1퍼센트씩 만이라도 해나가자는 마음으로 최소한 목표로 했던 부분까지는 할 수 있었다.

👥팀원들과의 소통

역시 함께 하는것 만으로도 큰힘이 되었다.
개인프로젝트는 처음 하다보니 프로젝트는 각자 진행하더라도 어려움이나 도움이 될만한 자료를 공유하면 좋겠다라는 생각이 들어서 트렐로를 만들자고 제안했고! 매일 아침마다 오늘 하루 계획과 블로커를 얘기해보고 하루를 마무리하며 달성율을 공유했다.

💖볼 수록 매력있는 타입스크립트

처음에는 타입을 하나하나 정해주는 것이 귀찮고 번거롭게 느껴졌다. 타입을 정해 주다보니 숫자와 문자열 을 변환한 것과의 연산이 정확하게 에러가 나서 문제를 방지할 수 있고, 리턴 값을 미리 알 수 있어서 편하다는 것을 느낄 수 있었다!

✍추가로 할 일들

새로운 기술스택과 여러 개의 새로운 라이브러리를 쓰면서 아직 제대로 사용하지 못 한것들이 많았다.

  • 타입스크립트를 통해 optional chaing 코드 줄이기
  • 프로젝트 소스코드에 있던 formik yup도 공식문서 제대로 보고 써보기

✍정리할 것들!

  • 백엔드 api 명세도 제대로 포스트맨에 정리
  • 삼항연산으로 처리했던 부분들과 반복되는 코드들 리팩토링하고 컴포넌트를 더 잘 나눠서 더 멋지게 쓰기!

🦴뼈에 새긴 최종 피드백

  • 컨밴션 이슈 계속 있음. 혼자 할땐 상관없는데 누군가와 협업할때는 크리티컬함. 언더스코어로 썼다가 카멜케이스가 들어가면 특수한건가? 이렇게 생각할 수 밖에 없음 => 파일명도 통일 필요
  • 감을 찾는것이 특정포인트에서 딱 오는데. 그 포인트까지 도달하는게 어렵다. 기본적으로 프론트 백 나눠져있는 구조 자체가 restful 한 api설계를 하고 데이터를 호출해서 프론트에서 화면을 그리는과정인데,
    머릿속으로 비지니스 로직을 생각하는것이 중요하고 플로우를 그리는 것이 중요하다.

제약조건을 줬는데 그렇기 때문에 조금 더 어려웠을 수 있다. 스스로 라이브러리에 대한 학습을 충분히 할 수 있는 사람이 되어야함.docu를 진득하게 읽을 수 있는 사람. 정리하는 습관이 중요하다.

개발자에게 중요한 자질:논리적 사고력

  • 논리적인 사고력이라는 것이 특별히 똑똑한 것이 아니라 투두를 잘 정리하고, 해결하기 위해 논리적으로 상황을 정리해서 해결해 나가는 것
    개발자로서는 너무 중요한 역량이라는 것을 뼈에 새기다시피 깨닫게 되었다. 이렇게 느낄 수 있는 것만으로도 기업협업은 굉장히 뜻깊고 소중한 기회였다.

뼈에 새길수 있는 도움되는 한마디 한마디 조언해주시고🗣 피드백해주신 인썸니아 대표님과 본부장님 팀장님께 정말 감사하다!😃

그리고 함께 고군분투하며 성장한 동기 남선님,준형님께도 감사하고, 영은님과 멘토님들 모두 정말 감사한 한 달이였다.💞👍

모두에게 무한 감사드립니다! 🙇‍강한 정신으로 무장하고 논리적 사고력을 가진 개발자로 앞으로도 성장하겠습니다!!🌱🌱

profile
안녕하세요! 프론트엔드 개발자 새미입니다:D

0개의 댓글