728x90
반응형
1. 프로젝트 개요
- 프로젝트 이름: wonderlust
- 프로젝트 기간: 2024.06.17 - 2024.07.05
- 팀원 구성: FE 3명, BE 5명
- 주요 목표: 숙박 예약을 돕는 웹서비스
2. 진행 과정
- 주요 작업
- 프로젝트OT -> 기획 설계 -> 필구 기능 구현 -> 1차 트러블 슈팅, BE/FE 통합 회의 -> 기능 고도화 및 확장 -> 2차
- 사용한 기술 스택:
- Java correto 17
- Spring Boot 3.3.0
- Mysql
- JPA
- Spring security
- jjwt
- validation
- lombok
- swagger
- Postman
- mokito
- junit
3. 성과 및 성공 요소
- 달성한 목표:
- 프로젝트 요구사항 만족 ㅌ
- 미니 프로젝트 우승
- 팀워크 및 협업:
- 아침 출석 체크 후, 디스코드 음성 채팅 방에 모여 각자의 상황을 보고 하고 작업을 했다. 퇴실 체크 후에는 자율적으로 디스코드에 모여 작업을 진행했다.
- 현직 경험이 있는 분과 프로젝트를 함께해 어떻게 프로젝트를 진행해야하는지, 어떤 상황에서 어딴 기술을 사용하면 좋은지 알게되었다.
- 항상 디스코드에 상주하고 계셔서 질문하며 많이 배웠다.
- 리더가 아니신데도 리더 역할을 소화 하셨고 팀원 들이 도움을 요청하면 흔쾌히 도와주셨다. 본받아야겠다고 생각했다.
4. 어려움 및 문제점
- 주요 이슈 및 해결 방법:
- 복잡한 서비스 로직
- 숙박 시설과 객실 리스트를 조회 하려면 : 숙박 시설의 엔티티 조회 -> 숙박 시설의 문자열 주소로 위도 경도를 받아와 response에 저장 -> DB에 해당 위도 경도가 없다면 저장 -> 숙박 시설의 id를 가지고 있는 객실 리스트 조회 -> 숙박 시설의 id, 체크인, 체크아웃 입력값으로 객실 정보 리스트 조회 (ProductInfoPerNight 에는 변하는 정보인 날짜, 가격, 잔여 객실 수가 저장 되어 있음) -> 객실 리스트와 객실 정보 리스트 기반으로 체크인, 체크아웃 날짜, 인원 수에 맞는 유요한 상품 조회 -> 상품 응답 리스트 생성 -> 좋아요 상태 조회 -> 응답 객체 반환 의 과정을 거쳐야 했다. 이 로직을 처리하며 논리적 사고 방식과 내부 메서드 분리의 중요성을 깨달았다.
- 처음 사용해보는 기술
- KakaoMapApi 를 사용해 문자열 주소를 사용해 위도 경도를 받아오는 기술을 사용했다. 처음 사용해보는 기술이라 어렵게 느껴졌지만 구글링과 강의 자료를 통해 해결할 수 있었다.
- 스케줄링을 사용해 별점을 매 자정에 업데이트 하는 방식을 사용했다. 다른 조들의 레포지토리와 구글링을 통해 해결했다.
- 복잡한 서비스 로직
5. 배운 점
- 개인적인 교훈:
- 어려운 로직과 새로운 기술 경험을 통해 기술적으로 성장할 수 있었고, FE 분들과 협업을 통해 협업 능력을 성장 시킬 수 있었다.
- 이 전의 프로젝트들은 일주일 안에 완성 시켜야해 라팩토링을 진행하지 못했다. 이번 프로젝트는 한달이라는 기간으로 시간적 여유가 있어 DB 부하 감소와 같은 리팩토링, 새로운 기술을 학습, 적용 시킬 수 있었고 팀원들의 코드리뷰, 피드백을 받아 프로젝트를 개선시킬 수 있었다.
- 팀 전체의 교훈:
- 문서화의 중요성을 느꼈다. 많은 인원이 참여한 프로젝트라 각자의 기억이 다를 수 있기에 노션에 회의록을 정리해가며 진행했다. 기억이 나지 않을 때마다 꺼내보았고 이로 인해 중복되는 질문 줄여 시간 낭비를 막을 수 있었다
- 리더의 중요성을 느꼈다. 리더 역할을 하는 사람이 솔선수범하니 팀원들도 서로 나서서 하기 시작했다.
6. 향후 개선점
- 프로세스 개선 사항:
- 이슈관리를 노션이 아닌 깃허브에서 했더라면 더 좋았을 거 같다. 사용해보지 못해 아쉬움이 있다.
- 기술적 개선 사항:
- 날짜 검증을 기본 어노테이션@FutureOrPresent 이 아닌 따로 DataValidate 를 만들어 사용했다.다음 프로젝트선 기본 어노테이션을 사용해보고싶다.
7. 기타 의견
- 다양한 방면에서 많은 것을 얻은 프로젝트였다. 도움주신 팀원 분들에게 감사하다.
- Docker를 처음 사용해봤다. Docker에 MySQL, redis를 띄우는 정도의 간단한, 사용... 이라고 하기에도 민망한 정도지만..시행착오를 많이 겪었다. 디스코드에 세네시간 화면 공유를 하며 도움을 받았다. Dockerfile, docker-compose-file 파일도 얕게나마 공부를 했다.
728x90
'회고록' 카테고리의 다른 글
쿠폰 선착순 발급 이벤트 회고록 (3) | 2024.12.10 |
---|---|
대규모 트래픽을 고려한 프로젝트 Board Server 회고 (1) | 2024.11.27 |
파이널 프로젝트 회고록 (4) | 2024.10.24 |