위코드 2차 프로젝트 후기

whybein·2020년 3월 27일
0

프로젝트 소개

해리포터 팬 사이트

  • 해리포터 시리즈를 주제로 하는 WizardingWorld 사이트 클론
  • 사이트 주요 특징
    - 가입 후 심리테스트 형식으로 응답하는 House, Wand
    - News, Feature와 같은 Article
    - 여러가지 객관식 문제로 구성된 Quiz

 

팀 구성

 

적용 기술(백엔드)

  • Python
  • Django Web Framework
  • MySQL
  • CORS headers
  • Google 소셜 로그인
  • AWS EC2/RDS
  • Docker

 


프로젝트 세부

 

내가 담당한 내용

  • DB 모델링
    회원, 심리테스트, 퀴즈, 아티클 주요 네 부분으로 구성했고 심리테스트 쪽에서 생각보다 많은 테이블을 만들어야 했다.

  • 크롤링
    아티클 쪽 말고는 클래스가 조금씩 달라 수동으로 데이터를 모아야 하는 경우도 있었으며, 실제 테스트를 여러번 해서 다양한 결과물을 모아야 하는 수고가 있었다. 역시 DB 테이블 구조에 맞게 csv파일을 만들었고 그대로 DB에 넣을 수 있도록 했다.

  • 백엔드 API 개발(회원가입/로그인, 심리테스트)
    1차 때는 없었던 유닛테스트를 필수로 해야했고, 다양한 세션이 있어서 생각보다 시간이 많지 않았다. 회원가입은 구글 로그인을 구현했고 어떤 방식으로 소셜 로그인이 이뤄지는지를 배울 수 있었다. 심리테스트 부분은 실제보다는 적은 문제수로 구현했고 응답에 따른 결과 공식은 모든 경우의 수를 결과 가지 수로 나눠 임의로 배정했다.

 

잘한 점

  • 각 API마다 유닛테스트 같이 진행했고 추가적인 변경이 있어도 테스트로 코드를 빠르게 확인할 수 있었던 것
  • 프론트 개발자와 프로젝트 범위를 중간중간 잘 조절해 완성도 높은 결과물을 만들어 낸 것
  • httpie 와 포스트맨을 활용해 충분히 테스트 하고 프론트와 연결했던 것
  • 마지막날 하루 전 배운 Docker를 바로 활용해 배포한 것

 

못한 점

  • 회원가입/로그인 부분 개발 기간을 잘못 산정해 생각보다 시간을 많이 쓰게 된 것
  • 담당하지 않은 다른 부분 API에 더 많이 신경 쓰지 못한 것

 


회고

두번째 프로젝트이다보니 첫번째보다 보이는 게 많았습니다. 우선 기간과 멤버 수를 고려해 프로젝트 범위를 초반에 잡았는데 갈수록 시간이 부족해지는 상황이 발생했습니다. 그래서 프로젝트 범위를 줄여야 했고 그 과정에서 팀원들과 특히 프론트 개발자와 많은 논의를 해야 했습니다. 심리테스트나 개인선호도 선택지 메뉴 세 개 중 하나만 하는 것으로 정했고 테스트 하나에서도 문제를 3개만 넣어서 구성하는 것으로 바꿔야 했습니다.
그래서 1차보다는 완성도가 높은 결과물이 나왔고, 프론트/백 한쪽만 개발이 된 부분이 하나도 없었습니다. 다른 팀에 비해 1차와 크게 다르지 않은 내용이라는 것이 조금 아쉬웠지만 팀프로젝트를 어떻게 진행해야 하는지 중간중간 어떻게 논의해야 하는지, 역할 분담을 어떻게 해야하는지 등을 배울 수 있었습니다.

profile
Back-End Developer

0개의 댓글