[Terarosa] 프로젝트 회고

do yeon kim·2022년 7월 31일
0

Project_Terarosa 회고

목록 보기
7/7

프로젝트 회고

가치를 판매한다는 것이란? +추가

이 회고록이 추가되는 시점은 프로젝트가 끝나고, 장준님의 특강을 듣고 난 뒤의 시점이다.

특강에서 가장 기억에 남는 점은 가치를 만들고 고객에게 판매한다는 점이었다.

특강을 들으면서 생각이 들었다.

"그렇다면 우리가 클론코딩을 한 Terarosa의 경우 어떠한 가치를 고객에게 판매하고 있는 것일까?"

프로젝트 기간 동안 그런 점에 대해서는 생각해보지 않았다.
Terarosa를 클론코딩했지만 정작, Terarosa가 어떠한 기업인지 조차 모르고, 어떠한 가치를 판매하고 있는지도 모른것이다.

Terarosa의 홈페이지 기능구현에만 급급해서 정작 중요한 점을 잊고 있었던 것이다.

새로운 시각에서 생각을 해보니 우리가 추가 구현한 기능에 대해서도 새로운 생각이 들었다.
우리는 검색API와 상품에 대한 필터링API를 추가했다.

하지만 Terarosa에는 위의 API가 없다.

왜 Terarosa는 두개의 기능을 구현하지 않았을까?
하지 못해서가 아닌 할 필요가 없었기 때문이 아닐까?

Teraros의 입장에서 두개의 기능은 그들이 추구하는 가치판매에 필요없는 기능인 것이다.


결국 클론코딩은 우리가 배운 스택을 사용해서 배워나가는 과정 중 하나일 것이다. 하지만 단순히 기능 구현만을 위한 클론코딩은 결국 반복적인 작업이 될 뿐이고, 알멩이가 없는 단순 노동일 뿐일 것이다.

알멩이를 채우기 위해서는 이 기업이 실질적으로 추구하는 가치가 무엇이고, 그 가치와 구현되어진 기능들이 어떠한 연관이 있는지 생각해볼 필요가 있지 않을까? 라는 생각이 든다.



회고록

드디어 2주간의 프로젝트가 마무리 되었다.

"내가 할 수 있을까?" 라는 의문으로 시작된 프로젝트.....

우선 결과적으로 만족스러운 프로젝트였다.
모든 과정이 만족스럽다고 말한다면 거짓말이 겠지만, 그래고 결과적으로 만족스럽다.

배운 기능을 복습해서 구현해보고, 새로운 기능도 구현해보고, 프론트엔드와 커뮤니케이션을 하며 통신도 하며 어렵기도 하고 즐겁기도 했다. 또 다른 사람들 앞에서 발표하기 꺼려하던 내가 앞에 나가서 백엔드 구현사항에 대해 발표까지 했다니, 실로 놀라운 발전이다. 아직 많은 부분이 부족하다고 느꼈지만, 지금은 하나의 프로젝트를 끝냈다는 점이 너무 좋다.



데이터모델링은 프로젝트의 절반이다.

이번 프로젝트에서 배운점은 데이터모델링은 프로젝트의 시작이며, 프로젝트의 절반은 데이터모델링이라는 점을 배웠다.

앞서 적은 회고록에서 말했듯이 우리조는 데이터모델링에 많은 시간을 투자했다. 그러다보니 다른 팀에 비해 구현을 시작한 것도 늦었고, 좀처럼 진행되지 않았다.

하지만 데이터모델링을 잘 해 두니 프로젝트기간동안 모델에 대한 추가적인 수정사항이나 모델링으로 인한 문제가 발생하지 않았다.

다른 팀들의 경우 필요에 따라 데이터모델링을 다시 해서 수정하는 팀들도 있었는데, 그런점에서 데이터모델링에 시간을 투자 한 건(타의적이지만) 좋은 선택이었다고 생각한다.



쓸데없는 고집을 부리지 말자

지금까지 혼자서만 과제를 진행하다보니 그 습관이 나와서 다른사람에게 물어보지도 않고, 검색도 하지 않고, 혼자 힘만으로 기능을 구현하려고 했다.

무언가의 도움을 받으면, 진것 같은 생각이 들어서 다른사람의 도움을 받기를 마음 속으로 거부했다.

하지만 팀프로젝트는 혼자하는 것이 아닌 협업을 하는 것이다.

내가 늦춰지면, 그에 따라 다른 팀원에게 피해가 된다. 팀원으로써 이러한 점을 인식하지 않고 행동하다보니 다른 팀원에게 많이 피해를 주었다.

나로 인해 프로젝트가 진행되지 않는 점을 나중에서야 인지하고나서야,내가 너무 오만했다는 생각이 들었다.

아직 아무것도 모르는 내가, 무언가를 배우는 입장에서 이런저런것을 따질 겨를이 없는데, 내 기분을 위해서 다른 사람에게 피해를 끼치고 있던 것이다.

이때를 기준으로 여러사람에게 물어가며, 검색도 하고 기능을 구현했다.

하지만 정해놓은 규칙이 있는데, 무작정 찾아보거나 묻는 것이 아닌 일정시간을 두고 최대한 혼자서 생각을 해보고, 정말 안될 경우 도움을 요청하는 식으로 태도를 바꾸게 되었다.



✅ 프로젝트 소개




📍 설명

해당 레포지토리는 위코드 부트캠프의 35기 백엔드 1차 팀 프로젝트 레포지토리입니다.


📍 목차

  1. 프로젝트 개요

  2. 기술 스택

  3. 구현 기능



✅ 프로젝트 개요


해당 프로젝트는 Terarosa 홈페이지를 클론코딩한 것으로, Terarosa 홈페이지의 다양한 기능을 백앤드로서 구현해보는데 목적을 두고 진행되었다.

협업 툴로는 TrelloNotion을 사용하였습니다.

📌 프로젝트 목표

  1. Python의 Django 프레임워크를 활용한 백엔드 서버 구축하기.

  2. MySQL을 활용하여 데이터베이스를 구축하고, ORM 이해하기.

  3. 다양한 협업 툴을 사용하여 커뮤니케이션 역량 강화하기.

  4. Scrum 방식 업무 경험하기.


📌 팀원 소개 및 역할

안상현 SangHyun

  • dbdiagram을 활용한 모델링

  • Django 프로젝트 초기 설정

  • MySQL 기본 데이터 구축 및 저장

  • 상품 전체 및 상세 리스트 API 구현

  • 상품에 대한 필터링 및 정렬 API 구현

  • 상품에 대한 검색 API 구현


김도연 kdylsky

  • dbdiagram을 활용한 모델링

  • Django 프로젝트 초기 설정

  • MySQL 기본 데이터 구축 및 저장

  • 로그인 기능 및 bcrpyt, pyjwt를 회원 인증/인가 API 구현

  • 회원가입 기능 및 bcrypt를 통해 암호화된 회원정보 DB 저장

  • 장바구니 API 구현 - POST, GET, PETCH, DELETE



✅ 기술 스택



📌 Backend 기술스택



✅ 구현 기능


이번 프로젝트에서 구현한 기능은 총 3가지입니다.

1. 회원가입& 로그인 API

  • 회원 정보에 대한 유효성 검사

  • 회원 비밀번호 bcrypt 암호화

  • bcrypt를 활용한 비밀번호 암호화/복호화

  • jwt를 활용한 토큰 발급 및 토큰 인가


2. 상품 API

  • Main Page 상품에 대한 premium & roasting date로 정렬 후 데이터 출력하기
  • Shop 페이지 이동 시 상품의 전체리스트 정보 출력하기
  • Qeury Parameter로 특정 상품 필터링하기
  • Path Parameter로 특정 상품 상세 정보 불러오기

3. 장바구니 API

  • 상품 상세 페이지에서 해당 상품 장바구니에 추가하기
  • 로그인 한 유저의 장바구니에 담긴 상품 확인하기
  • 로그인 한 유저의 장바구니에서 담기 상품에 대한 수량 변경하기
  • 로그인 한 유저의 장바구니에서 선택된 상품 삭제하기 & 전체 상품 삭제하기

0개의 댓글