이번 프로젝트는 영한님의 Spring, JPA 강의를 토대로 만든 수강신청 프로그램의 아쉬웠던 부분을 개선하여 더 잘 만들 수 있을 것 같아 시작하게 되었다.
이전 프로젝트는 강의를 통해 배우면서 적용해보며 익히는 것에 초점을 맞추었다면, 이번 프로젝트는 설계부터 환경, 컨벤션 등 같이 협업하여 결과물을 만들어 내는 데 초점을 맞추었다.
1차 마무리를 하며 개인적인 시각에서 프로젝트를 평가했다.
- 잘한 점
- 컨벤션을 초기에 정의하여 코드 방식의 통일화가 잘 되었다.
- CI/CD 자동화를 통해 PR 머지 시 개발 환경에서 바로 확인할 수 있다.
- 개발 위키나 트러블슈팅을 문서화했다.
- 매주 오프라인 회의를 진행하여 프로젝트 진행 상황을 공유하고 코드 리뷰했다.
- 테스트 작성을 나름 열심히 했기에 100퍼센트 가까운 커버리지를 달성했다.
- 아쉬운 점
- 프론트 없이 백엔드 두 명이서 프로젝트를 진행했기에 도메인을 만드는 데 시간이 많이 걸렸다. 개인적으로 도메인을 조금 더 키워 매칭 이후에 만족도를 평가하는 도메인이나, 키워드 별 검색 등의 정책을 추가하여 복잡한 로직을 처리하는 기능을 만들고 싶다.
- 커밋 메시지 컨벤션을 정하지 못한 점이 나중에 커밋 메시지를 확인할 때 어려움을 주었다.
- 커밋 단위와 pr 단위를 너무 크게 잡았기에 롤백할 때 어려움이 있었다.(실제 협업할 땐 이렇게 하면 절대 안 될듯)
- 프론트가 없기에 json api 통신을 경험하지 못했고, 클라이언트 서버단에서 처리할 일들을 백에서 처리해 넘겨야 하는 불편함들이 많았다.(에러 처리 페이지, 쿠키 헤더 설정 등)
- 프로젝트 구현 시 조언을 구할 사람이 없어 맞게 구현하고 있는지 알기 힘들었다.
요약하자면 둘이서 꽤나 괜찮은 퀄리티의 프로젝트를 만들었다 생각하지만, 프론트나 조언을 구할 멘토가 없고, 인원이 적었기에 더 큰 규모로 확장하기 힘들었다고 할 수 있겠다. 역시 동아리에 들어가서 여러 사람과 협업하는 것이 더 좋을 것 같다.