[Wesop]1차 프로젝트 회고록

Jimin_Note·2022년 7월 3일
0
post-thumbnail

🌱 클론 사이트

Aesop

🌱 클론 목적

  • 프론트엔드와 백엔드의 원활한 커뮤니케이션!
  • Django를 이용하여 Aesop 보유 기능을 구현하기위해 학습하기!
  • 첫 프로젝트이고 로직이 많이 복잡하지 않은 커머스사이트인 만큼 최대한 많은 기능 구현보다는 탄탄한 기본기 다잡기!

📍 개발 기간 : 2022년 6월 20일 ~ 2022년 7월 1일(2주간)

📍 개발 인원

  • 프론트 엔드 : 서한샘, 박수연, 조예지, 홍희윤

  • 백 엔드 : 정지민

📍 기술 스택

Backend

  • Python
  • Django
  • MySQL
  • CORS Header
  • Bcrpyt
  • PyJWT
  • AWS
    • EC2
    • RDS

Communication

  • Slack
    변경사항이나 막히는 부분이 생기면 Slack을 이용하여 실시간으로 소통
  • Notion : 프론트/백 간의 request, response 전달 데이터 건의 및 공유
    • 회의록
      Daily Standup Meeting
      매일 AM 10시30분 회의 진행
      👉 어제 진행사항, 오늘 진행할 사항, 지금까지 어떻게 진행되고 있는 지에 대한 각자의 상황을 설명
      👉막히는 부분이나 기간 내에 완료할 수 없는 상황의 경우 다른 기능으로 대체하거나 없애는 등 프/백 간의 원활한 커뮤니케이션 진행
    • 구현 기록
      👉 백엔드에서 기능 구현이 완료되면 request, response 에 해당하는 데이터를 노션에 기술하고 프론트는 이를 통해 기능 구현이 완료되었음을 인지
      👉 프/백 통신이 성공적으로 이루어진 기능은 모두가 알 수 있도록 표시

  • Trello
    프/백 간의 현재 진행상황을 실시간으로 공유하며 프론트엔드 쪽에서 어떠한 기능이 먼저 구현되는지 확인하며 백엔드에서도 그에 맞춰 같은 기능을 구현하며 애자일한 진행을 위해 노력

  • Git & Github
    Wesop 프론트엔드 깃허브
    Wesop 백엔드 깃허브

📍 ERD 모델링

📍 API Documentation - POSTMAN

ProductListView

SignupView

SigninView

CategoryView

ProductListView

ProductDetailView

ProductDetailView

CartView

UserView


Behind

🌱 1인 백엔드?!

멘토님들도 그렇고 혼자서 백엔드 기능을 구현해내기가 힘들지 않았냐고 많이들 물어보셨는 데 우선 나의 답은 '전혀 힘들지 않았다' 이다. 사실 사전에 백엔드 두세명으로 팀 프로젝트를 진행했던 경험이 있었다면 그 경험과 비교되어 혼자 하기 힘들다고 느꼈을 수도 있겠지만 프로젝트 진행 자체가 처음이기 때문에 혼자라서 힘들다는 생각은 들지 않았다. 다만 Django에 대한 지식이 풍부한 상태가 아니었기 때문에 아예 막막하지 않았다고 한다면 그것은 거짓일 것이다. 하지만 Wesop 프론트엔드 팀원분들 많이 배려를 해주셔서 크게 부담느끼지않고 페이스를 잘 유지할 수 있었던 것 같다.

🌱 프로젝트 시작하기 앞서서..

wecode 34기 동기분들이 워낙 다들 좋은 분들 이셔서 팀 구성이 어떻게 될지에 대한 걱정은 없었으나 이번 기수는 전원 34명 중 백엔드 개발자는 9명 뿐이라 6팀 중 4팀은 혼자 진행해야된다는 소식을 들었을 때 내가 혼자로 참여하게될 팀에 누가 되진 않을 지 걱정이 되어 1차 프로젝트 직전 세션이었던 미니 인스타그램 클론을 복습하고 로그인,회원가입 외에 추가 기능었던 게시글, 댓글, 좋아요 기능을 구현해보며 프로젝트 들어가기 전에 최대한 많은 지식을 담아가기 위해 노력하였다.

🌱 Wesop을 진행하면서

팀에 민폐나 안 끼치면 다행이지..혼자서 잘할 수 있을 지 걱정이 앞섰던 1차 프로젝트 첫 날이 무색할 정도로 생각보다 내가 잘 해낼 수 있는 사람이었다는 걸 깨달았다. 첫 미팅을 통해 필수 기능 구현과 추가 기능 구현을 나누어 시간에 맞게 유동적으로 진행하기로 했는데 필수 기능 구현에서는 미니 프로젝트로 구현해보았던 로그인, 회원가입 외에는 전혀 어떻게 구상을 해야하는 지도 떠오르지가 않았다. 그러나 막상 ERD모델링을 구상하고 models.py를 만들어 CSV파일로 데이터를 담고 기능을 하나하나 구현해 나가보니 걱정 외로 막힘없이 코드를 짜고 있는 내 모습을 볼 수 있었다. 프로젝트 시작 전에 지금까지 진행했던 세션들을 복습했던 게 큰 도움이 되었다.

2주라는 짧은 기간동안 Agile을 강조하며 최대한 정확하게 최대만 많은 기능을 효율적으로 구현하기 위해 Trello를 통해 프론트엔트 팀원들의 기능 구현을 실시간으로 확인하며 나의 구현 부족으로 인해 프론트엔드에서 만든 페이지를 쓸 수 없게 되지 않도록 매일 막차를 타며 버스에서도 끊임없이 기능을 구현하기 위해 노력하였다.그러한 노력 끝에 필수 기능 구현은 당연히 완료 하였고 추가 기능이었던 장바구니와, 회원정보 조회 및 수정까지 구현해낼 수 있었다.

🌱 Wesop 이라서 좋았다

다른 팀의 상황을 다 알 순 없지만 우선 우리팀에 대해서만 서술해보자면 극악의 상황에서도 다들 기분이 태도가 되지 않았다. 힘들게 완성한 코드에 갑자기 에러가 발생해도, 발표 전날까지도 필수 구현 페이지를 완성하지 못했더라도, 그 동안 너무 피곤했던 탓에 몸이 아프더라도 그 누구도 인상 찌푸리는 법을 모르는 사람들 처럼 웃으면서 잘해줬다. 물론 건강 해치면서까지 프로젝트 참여하는 걸 모두가 원치않아 몸이 안좋았던 팀원에게는 우리 목표는 프로젝트 완성이 아니라 개개인의 성장이라며 이 정도 했으면 됬으니 일찍 귀가하도록 웃으면서 보내주고 발표 전날에 완성하지 못한 페이지에 대해서는 '못하면 어쩔 수 없다! 일단 다같이 해보자'며 모두가 발벗고 나섰다. 다들 힘들었을 텐데 웃으면서 끝까지 해준 덕분에 필수 기능은 물론 추가 기능까지 구현할 수 있었던 것 같다.
또한, 이러한 팀원들 덕분에 혼자 백엔드 기능을 구현하는 것에 대해 힘들다고 느껴지지 않았던 것 같다.

🌱 2차 프로젝트 전 마음가짐

  • logger로 SQL확인해가며 DB 성능 고려하여 ORM 사용해보기!

  • Q객체를 이용하여 좀 더 다양한 조건 사용해보기!

  • 지도API 사용하여 기능 구현해보기!
    (지도가 필요한 프로젝트에 당첨되야 할 수 있겠지만 아니더라도 추가기능으로 구현해보고싶다!)

  • 소셜 로그인이 실제로 가능하도록 구현해보기!

  • Git,Github를 이렇게 열심히 함부로(?) 다뤄본게 처음이라 브랜치 이름도 엉망이고 기능 구현하기 급급해서 PR도 제대로 사용하지 사용하지 못했다. git과 친해지기 시작한 것도 1차 프로젝트 거의 마무리되어갈 쯤이었기 때문에 2차때는 보기좋고 깔끔하게 사용하기 위해 노력할 것!!

🌱 나는 어떤 개발자가 되어야 할까

나는 소통 천재 개발자가 되고 싶다. wecode에 들어온 후 1차 프로젝트 전까지는 개인 단위의 세션들 뿐이라서 사실상 개발 실력 향상만을 위해 학습했고 팀 커뮤니케이션의 중요도에 대해서는 잘 알지 못했다. 그러나 1차 프로젝트를 시작하면서 개발 실력이 전부가 아니라는 것을 깨달았다. 사실상 기능 구현은 밤을 새서라도 구글링을 하고 코드를 짜다보면 어떻게 해서든 완성을 할 수 있지만 커뮤니케이션 능력은 노력한다고 좋아지는 개념은 아닌 것 같다. Wesop 팀이 성공적으로 마무리될 수 있었던 이유는 팀원 모두가 실력 천재라서가 아니다. 팀원 모두가 서로를 배려할 줄 알고 프/백 간의 언어 장벽을 인지하고 쉽게 전달하기 위해 노력했기 때문에 각자 목표한 바를 이룰 수 있었던 것이다. 기술적인 부분도 개발자로서 필수되는 부분이지만 더 나아가 소통적인 부분에서도 어떤 상황이 생기든지 벽이 생기지 않도록 잘 이끌어 가는 개발자가 되고 싶다.

🌱Good Bye Wesop

지난 2주를 떠올려보면 잠을 줄여가며, 밥을 먹으면서도, 집에 가는 버스 안에서도 언제 어디서든 키보드에 손을 올려뒀던 것 같다. 꿈에서도 기능 구현하는 꿈을 꿀 정도로 나의 하루를 모두 쏟아부었기 때문에 다시 2주 전으로 돌아간다고 해도 지금 상황이 최선이었을 만큼 후회가 없다. 다만, 나의 기본 베이스에 더 많은 지식이 탑재되어 있었더라면 더 많은 기능을 구현해볼 수 있었을 텐데..라는 아쉬움은 있다.하지만 Wesop을 시작했을 때의 나의 모습에서 2주간 최대한 많은 역량을 이끌어낸 것 같다.
Aesop 클론 프로젝트는 2주를 끝으로 막을 내렸지만, 기간 내에 구현하지 못했던 추가 기능(주문하기, 리뷰작성 등)들을 2차 프로젝트 끝나고나서라도 꼭 구현해보고싶다.

profile
Hello. I'm jimin:)

0개의 댓글