DB 모델링
회원, 심리테스트, 퀴즈, 아티클 주요 네 부분으로 구성했고 심리테스트 쪽에서 생각보다 많은 테이블을 만들어야 했다.
크롤링
아티클 쪽 말고는 클래스가 조금씩 달라 수동으로 데이터를 모아야 하는 경우도 있었으며, 실제 테스트를 여러번 해서 다양한 결과물을 모아야 하는 수고가 있었다. 역시 DB 테이블 구조에 맞게 csv파일을 만들었고 그대로 DB에 넣을 수 있도록 했다.
백엔드 API 개발(회원가입/로그인, 심리테스트)
1차 때는 없었던 유닛테스트를 필수로 해야했고, 다양한 세션이 있어서 생각보다 시간이 많지 않았다. 회원가입은 구글 로그인을 구현했고 어떤 방식으로 소셜 로그인이 이뤄지는지를 배울 수 있었다. 심리테스트 부분은 실제보다는 적은 문제수로 구현했고 응답에 따른 결과 공식은 모든 경우의 수를 결과 가지 수로 나눠 임의로 배정했다.
두번째 프로젝트이다보니 첫번째보다 보이는 게 많았습니다. 우선 기간과 멤버 수를 고려해 프로젝트 범위를 초반에 잡았는데 갈수록 시간이 부족해지는 상황이 발생했습니다. 그래서 프로젝트 범위를 줄여야 했고 그 과정에서 팀원들과 특히 프론트 개발자와 많은 논의를 해야 했습니다. 심리테스트나 개인선호도 선택지 메뉴 세 개 중 하나만 하는 것으로 정했고 테스트 하나에서도 문제를 3개만 넣어서 구성하는 것으로 바꿔야 했습니다.
그래서 1차보다는 완성도가 높은 결과물이 나왔고, 프론트/백 한쪽만 개발이 된 부분이 하나도 없었습니다. 다른 팀에 비해 1차와 크게 다르지 않은 내용이라는 것이 조금 아쉬웠지만 팀프로젝트를 어떻게 진행해야 하는지 중간중간 어떻게 논의해야 하는지, 역할 분담을 어떻게 해야하는지 등을 배울 수 있었습니다.