기획단계
클론 프로젝트로 진행 할 만한 아이디어가 여러 가지 나왔다. 여기서 팀원들의 투표 후 뽑힌게 바로 네이버 헤어샵이다. 예약 중에서도 헤어샵이란 도메인을 집중 할 수 있는 점이 가장 큰 메리트였던 것 같다. 하지만 기획 논의 중 카카오 헤어샵으로 노선을 변경했다. 이유는 좀 더 클론 구현하기 좋아보여서다.
협업 툴은 JIRA와 NOTION로 정했다. JIRA는 스프린트에 특화된 협업툴인데… 처음쓴거라 크게 와닿진 않았다. 몇 번 더 경험하다보면 잘 활용할 수 있겠지.
설계단계
약 10일이란 기간이 주어졌다. 헤어샵 예약 서비스도 구현해야 하고 고민해야 할 부분이 상당했다.(특히, 파트너스 등록과 헤어샵 등록 부분) 그리고 멘토님이 찍어내 듯이 만드는 기능 구현은 최소한으로 하고 스트레스 테스트같은 부분에 집중하는게 어떻냐는 의견을 주었다.
헤어샵, 메뉴, 디자이너, 유저, 예약 부분만 구현한 뒤, 스트레스 테스트를 진행하고 리팩토링을 거친 후 다시 스트레스 테스트를 진행하여 얼마나 개선되었는지 확인하는 형식으로 진행하기로 했다.
기술스택
클라우드 서버는 GCP (무료 제공 기능을 받을 수 있어서 채택), 어플리케이션은 스프링 프레임워크로 구현 하였고 DBMS는 MYSQL로 하였다. 그리고 스트레스 테스트는 Jmeter를 사용했다.
자잘한 얘기
데브코스의 첫 팀프로젝트다. 프로젝트를 진행하면서 팀원들과 같이 구현해 나가는 성취감이 컸다. 동시에 부족한 점도 많이 느꼈지만 다음엔 더 나은 모습으로 프로젝트를 진행 할 수 있을 것 같단 생각 때문에 오히려 다행이라 생각했다.
개선점?
- 기획, 설계
- 예약 기능에 예약 가능한 시간을 확인 할 때 동적으로 할지, 정적으로 할지 의논했다.
- 이때, 패키지를 나눠서 진행 할 것이란 판단을 하지 못했다.
- 깃 충돌 해결
- 각각 브랜치를 판 다음 머지하는 과정에서 충돌이 발생했다.
- 충돌난 부분을 해결하는 과정에서 기존 코드가 날아가는 일이 발생…
- 다행히 다른 브랜치에 해당 코드가 남아 있어서 복구했다.
- 스트레스 테스트 진행
- Jmeter를 통해 스트레스 테스트를 진행하는데, 로컬에선 여러 문제가 있었다. → 실행중인 프로세스들 ( 카카오, 슬랙, 노션 등등.. )
- GCP로 급히 클라우드 서버를 구동시켜 돌리는데, 여기서도 몇가지 문제점이 발견되었다.
- 서버 문제인지, 코드 문제인지 모르겠지만 당연히 지표가 더 좋아야 하는 상황에서 지표가 나쁘게 나오는 상황이 발생했다.
끝날때까지 끝난게 아니다
- 일정은 끝났지만 코드는 여전히 남아 있고 개선해야 될 부분도 남아있다.
- 팀원들과 끝내지 못한 부분을 짬내서 마무리 지어야 할 것이다.