1차 프로젝트 후기 - celine 클로닝

김현우·2020년 9월 13일
0

django

목록 보기
6/6

Introduction

2020년 8월 18일 ~ 2020년 8월 28일 까지 총 2주간 진행하였습니다.
4명의 프론트엔드, 2명의 백엔드로 총 6명과 함께 프로젝트를 하였습니다.

프로젝트 소개

다양한 애니메이션과 일반적인 홈페이지와 다른 메뉴 구성과 깔끔한 디자인의 프랑스의 명품 패션 브랜드인 celine 홈페이지를 클론하는 프로젝트를 진행하였습니다.

팀소개 👩‍💻 👨‍💻

  • 팀명 : weline
  • 구성원 : 프론트 엔드 4명, 백엔드 2명

프론트엔드(박진아, 이도윤, 한태규, 이영섭) 백엔드(김현우, 고지원)과 함께 진행하였습니다.

프로젝트 github ⚽

백엔드 깃허브 링크
프론트엔드 깃허브 링크

적용 기술 🛠

- git, github, trello, slack, python, django, mysql, selenium, beautifulsoup4, jwt, bycrpt

소통은 slack, trello를 사용하였으며, 협업은 git, github를 통하여 진행하였고, 웹크롤링은 bs4, selenium을 이용하였으며, database는 mysql, 암호화는 jwt, bycrpt, 언어는 python, 웹프레임워크는 django를 사용하였습니다.

내가 맡은 역할 🦾

나는 백엔드 소속이며 크게 user쪽 과 product쪽으로 app을 나누어 담당하였다
이 중에서 나는 user쪽을 맡게 되었다.

1. celine 사이트 모델링하기

2. 회원가입/로그인 API 구현하기

  • 아이디 중복검사 및 이메일 형식 판별
  • 이름 문자 형식 검사 판별 (오직 문자만)
  • 비밀번호 암호화 및 비밀번호 형식 판별 (8자리 이상이며 소문자, 대문자, 특수문자 최소한개이상씩 포함!!)

3. 로그인 데코레이터 구현하기

4. 위시리스트 API 구현하기

5. AWS EC2 서버 배포 및 RDS 구축하기

6. git을 통하여 협업하기

기록하고 싶은 코드 💙

이 코드는 위시리스트에 있는 제품의 정보들을 불러와서 프론트엔드로 정보를 넘겨주는 부분이다. 단순히 코드를 짤 수도 있었지만 product는 많은 FK를 가지고 있어서 많은 Query 충돌이 예상되었다.

세션에서 배웠던 DB hit을 줄일 수 있는 select-relatedprefetch-related를 직접 사용하여 보았다. 세션을 들었을 때는 무슨 소리인지 감이 잘 안왔는데 프로젝트를 하다보니 사용해야할 순간이 온 것이다! 비록 프로젝트 전날 새벽까지 이해하느라 힘들었지만, 배운것을 사용하여 뿌듯하고 보람있었다. 역시 이론으로 배우는 것보다는 실전으로 익혀야 진짜 기억에 남을 것 같다!!

프로젝트 소감 🐯

나의 회고록

pythondjango를 배운지 고작 한달밖에 안되는 시점에서 프로젝트에 돌입하게 되어 '정말 내가 할 수 있을까?'라는 생각도 많이 들었으며 팀원들에게 '혹시 민폐를 끼치면 어떡하지?' 등등 많은 걱정도 들었다. 2주도 안되는 한정적인 시간이었으며 그 시간안에 개발해야하는 기능들은 정말 산더미처럼 많았다. 한달동안은 혼자 계속 공부를하면서 모르는게 있으면 끙끙 앓기도하고 멘토들이나 동기들에게 질문도 하면서 기본적인 문법 파이썬에 익숙해지고 새로 배우는 프레임워크인 장고에 관해 익숙해지는 시간을 가졌다. 나는 백엔드라 2명에서 같이 프로젝트를 맡게 되었다. 인원도 2명밖에 없어 한명 한명이 굉장히 맡는 부분의 책임감이 컷다고 느껴졌다. 그래도 막상 프로젝트에 돌입하게 되니 혼자 할때보다 시간도 더 빨리갔고, 같이 소통하면서 진행하니 실력도 훨씬 빨리 늘고 있다는게 느껴졌다. 프로젝트가 끝난 시점에서 돌이켜보니, 하루하루는 정말 힘든 시간을 보냈지만, 고작 2주라는 시간동안 그래도 많은 것을 해낸 나에게 뿌듯함이 느껴졌다. 물론 스트레스 받는 일도 많았고 아직 완벽히 숙지하지 못하고 쓴 코드들과 개념들도 많겠지만, 그래도 내가 목표한 바를 모두 이루었다는 것에 내 스스로에게 칭찬을 해주고 싶다. 또한 내가 2주동안 무사히 프로젝트를 완성할 수 있었던건 나와 함께 한 5명의 팀원들, 동기들의 영향이 제일 컸던 것 같다. 모두 쉬지 않고 열심히 각자의 맡은 역할을 진행하면서도 또 한명이 어려워하거나 막히는 부분이 있으면 함께 도와주며 프로젝트를 2주간 진행하였다. 이번에 한번더 느낀 것이 혼자하는 것과 팀으로 어떤 한 프로젝트를 완성한다는 것이 얼마나 힘들며, 또 의미있는 일이라는 것을 깨닫게 해주었다.


아쉽거나 개선하고 싶은 점

  1. 1차에서는 별로 크게 중요성을 몰랐던 모델링 부분에 시간 투자도 많이 할 것이며, 또한 프론트와 소통이 정말 중요하다는 것을 깨닫게 되었다.
  2. 기능이 동작한다고 좋아하는 것이 아니고, 어떻게하면 클린 코드를 작성할 수 있을지, 남들이 원하는 코드를 작성할 수 있을지 고민을 많이 해보아야겠다.
  3. 이번 프로젝트에서 크롤링이나, DB에 관한 부분을 담당하지 못해서, 다음 프로젝트때에는 꼭 내가 담당을 해서 많은 것들을 배우고 싶다.
  4. 시간 배분을 잘하여, 많은 기능을 구현하는 욕심을 줄이고, 하나의 기능을 완벽하게, 시간 할당도 적절히 해야겠다.
profile
코딩을 잘하는 개발자가 되자!

0개의 댓글