Query dsl을 이용한 분야별/지역별 조회 기능 구현
무한 스크롤을 위한 페이징 처리
일부 코드 리팩토링
프론트와 통신하면서 발견한 에러 잡기
중간 발표회 발표 자료 만들기
총 6주간의 실전 프로젝트 기간 중 3주간을 MVP 개발에 쏟도록 타임라인이 잡혀있었다.
수면 시간을 줄여가며 목표했던 MVP까지는 자잘한 잔버그를 제외하면 도달하였다!!!
그러나 MVP 이후에도 이메일 인증을 통한 알람 기능/사용자 편의를 위한 소셜 로그인 등 일주일간 좀 더 기능을 다잡고 23일 UT를 시행하기로 타임라인을 잡았다.
(물론 내일 발제 이후 또 바뀔지도 모르겠지만...)
걱정했던 중간 발표회는 그래도 원활히 잘 마무리했던 것 같다.
아무래도 구현한 기술들이 비슷하다보니 멘토님들이 가이드가 주어진 것이냐는 말도 나왔었고(참고로 전혀 주어진 것은 없없다), 채팅 관련한 부분도 앞에서 다른 조들에게 피드백을 많이 해주셔서 그런지 우리 조는 트러블 슈팅에 넣은 내용들 위주로 피드백을 받았다.
Query dsl을 사용한 조가 없어서 쿼리 성능 및 테스트에 관한 피드백을 받았었고, 역시나 우려했던 사람을 모으는데만 한정된 사이트냐는 뼈아픈 질문도 받게 되어 챌린지 식으로 팀빌딩 페이지도 추가하기로 하였다.
Query dsl을 이용한 동적 쿼리
여태 스프링에서 제공해주는 jpa로 db와 관련된 모든 것을 처리해었는데, 분야별/지역별 카테고리 조회에 제목, 유저 이름, 내용에 따라 검색 기능까지 추가되고 거기다 무한 스크롤을 위한 페이징처리까지 더해져서 jpa로 구현하는데 한계가 있을 것 같아서 기획 단계에서부터 Query dsl을 이용하기로 계획했었다.
sql에 대해 따로 공부한 적이 없어서 이해하는데 조금 걸렸지만, 그래도 새롭게 도전했던 것이 원활히 진행되서 기분 좋게 마무리 할 수 있었다.
발표회 때 핵심 기능 위주로 시연한 영상이다.
MVP 핵심 기능 요약
1. 유저는 협업[졸작/공모전/포폴]을 원하는 분야, 인원을 선택해서 모집 글 생성 가능
2. 분야별, 지역별로 모집 글 조회 가능
3. 제목, 작성자, 내용별로 검색 가능
4. 유저는 모집 글에 들어가 신청/신청 취소 가능
5. 지원한 유저와 채팅을 통해 서로의 니즈 파악 후 수락/거절 가능
6. 모집 완료 후 마이 페이지에서 팀원들에게 평점을 줄 수 있음
MVP 서비스 아키텍처
중간 발표회에 대한 압박감과 Query dsl 공부하는데 생각 이상의 시간이 소모되어서 느낀 초조함, 미처 확인하지 못했던 부분에서 에러가 터진 걸 뒤늦게 발견했는데 당시 이미 피로 누적으로 체력적인 부담감이 느껴져서 여러가지로 또 험난한 일주일이었다.
그래도 팀원들이 서로에게 짜증내지 않고 좋은 분위기로 풀어가려고 노력했고, 또 다들 정말 많은 시간을 들였기에 아쉬움이 없는 것은 아니지만 다들 만족해하며 한주를 마무리했던 것 같다.
앞으로 추가할 기능들이 많기에 어쩌면 지난 3주보다 더 힘든 일주일을 앞두고 있는데 여지껏 해왔듯 일단 부딪쳐보면 어떻게든 해결해나간 나를 다음주에도 볼 수 있으리라 믿는다!
++ query 성능 검사, 코드 리팩토링