본문 바로가기

회고/데브코스 백엔드 3기

[프로그래머스 데브코스 백엔드 3기] 클론코딩 프로젝트 회고

반응형
SMALL

프로그래머스 데브코스의 중간 프로젝트로 함께 공부해왔던 백엔드 팀원들과 타겟 서비스를 정해서 클론 코딩하는 프로젝트를 진행했다.

 

프로젝트 정보

인터마크 (Intermark) | 2023.01.12 ~ 2023.02.05 | Back-End 5명

 

- 기술스택:

Java 17, SpringBoot 2.7.7, MySQL 8.0, JPA, JUnit5, Mockito

AWS (EC2, RDS, S3)

 

- 작업 레포지토리

 

GitHub - prgrms-be-devcourse/BE-03-InterMark: 백엔드 마르코팀 인터파크 클론코딩

백엔드 마르코팀 인터파크 클론코딩. Contribute to prgrms-be-devcourse/BE-03-InterMark development by creating an account on GitHub.

github.com

 

주제 선정

인터파크(Interpark)를 타겟 서비스로 정했다.

개인적으로 당근마켓 클론 코딩을 많이 봐 온 입장으로서 주제 선정 과정에서 당근마켓을 제안했다. 아쉽게도 팀원들의 관심까진 끌지 못해서 타겟 서비스로는 선정되지 못했다. 대신 다른 팀원이 제안한 인터파크의 뮤지컬 예매 서비스가 타겟 대상으로 선정되었다. "예매"가 주 도메인이기 때문에 서비스 불륨도 크게 불려서 많은 도전을 시도해볼 수 있을 것 같았다.

 

담당 API 및 Infra

- RDS 및 더미 데이터 세팅

- 티켓(예매 내역) 전체 조회 API

- 티켓(예매 내역) 유저별 조회 API

- 티켓(예매 내역) 뮤지컬별 조회 API

- 티켓(예매 내역) 상세 조회 API

- 뮤지컬 스케줄 등록 API

- 뮤지컬 스케줄 수정 API

- 뮤지컬 스케줄 삭제 API

- 담당 API 테스트 코드 작성

 

ERD

 

Server Architecture

 

KEEP

좋았던 점 및 배운 점을 정리해보았다.

 

SpringBoot 프레임워크를 활용하여 설계한 API를 개발할 수 있었다.

예전부터 스프링부트를 제대로 배우고 프로젝트에 활용하고 싶었는데, 그 바람이 좋은 사람들과 함께 처음으로 이루어져서 행복했다.

 

테스트 코드를 작성할 수 있었다.

예상한 프로젝트는 CRUD만 반복하다가 SpringBoot로 API를 개발하는 것이 익숙해질 즈음 스프린트가 끝날 줄 알았는데, 열정적인 팀원들 덕분에 Mockito를 활용하여 테스트 코드를 작성하고, Jacoco를 통해 코드 커버리지도 눈으로 확인할 수 있었다. 이를 통해 테스트로 프로젝트의 완성도를 간접적으로나마 체크할 수 있었고, 그 중요도를 알게 되었다.

 

큰 도메인을 경험할 수 있었다.

개발 과정에서 큰 도메인에 작업 속도가 나지 않는 것처럼 느껴질 때가 있었다. 그 때 잠깐 도메인을 잘못 골랐나 생각도 들었지만 프로젝트가 끝난 지금 돌아보니 큰 도메인을 경험함으로써 다양한 API를 생각해볼 수도 있었고, 정해진 시간 동안의 작업 한계를 확인해볼 수 있는 기회가 되어 만족스러웠다.

 

열정적인 팀원들과 함께 할 수 있었다.

단순히 프로젝트 개발에만 집중하기보다, 어떤 코드가 더 좋고 어떤 것들을 더 도입해볼 수 있을까 고민하는 팀원들 덕분에 예를 들면 테스트라던지 못해보았던 부분도 경험해보고 그 중요성을 느낄 수 있었다. 또한, 매주 회고를 통해 피드백을 받으면 잘 수용하고 변화하려는 모습이 보여서 같이 협업하는 것이 즐거웠다. 덕분에 피드백을 받았을 때 더 잘해야지라는 마인드를 함께 가질 수 있었다.

 

PROBLEM

아쉬웠던 점들을 정리해보았다.

 

협업 경험 공유 실패

이 프로젝트를 진행하기 전에, 기획, 디자인, 클라이언트, 서버 다양한 파트로 구성된 팀에서 4번의 프로젝트를 진행한 경험이 있다. 돌아보면 초기 문서화, 초기 프로젝트 설정, 효율적인 스크럼 등 필요성과 방법은 어느 정도 알고 있었는데, 팀원들에게 공유를 못한 것 같다. 협업 경험을 공유하면 보다 팀원들과 수월하게 협업을 진행할 수 있었을텐데, 아직 전달 능력이 부족해서 미리 공유하지 못해서 결국 다 같이 구르면서 협업을 배운 점이 대단하면서도 미안한 마음이 남아있다.

 

코드리뷰의 소홀함

프로젝트 막판에는 담당한 코드를 개발하느라 바빠서 팀원들의 코드리뷰에 소홀해졌던 것 같다. 한번 훑어보고 Approve를 누르는 경우가 종종 있었다. 물론 코드 부분을 몰라서 넘긴 적도 많았지만 다른 것이 급해서 대충 보고 넘어갈 때도 있었다. 때문에 팀원들의 컨벤션이 하나로 통합되지 못했다는 생각이 든다.

 

프로젝트 분산 몰입

알고리즘, 스터디, 강의 등 공부하고 싶은 것이 많아서 프로젝트에만 집중하지 못한 것이 스스로도 아쉽다. 부가적인 일을 줄이고 프로젝트에 좀 더 집중했으면 팀원들과 더 많은 유의미한 이야기를 나누고 성장했을텐데 그 가능성을 놓친 것이 아쉽다.

 

2차 미션 실패

2차 미션으로 HTTPS 연결 미션을 받았었다. 하루를 잡고 미션을 시도했지만, 인증서가 발급되지 않아서 결국은 실패했다. 트러블을 슈팅만 하고 해결을 못한 점이 아쉽다.

 

TRY

곧 있을 최종 프로젝트에서 시도해보고 싶은 것들을 정리했다.

 

초기 문서화 및 프로젝트 세팅

초기 문서화와 프로젝트 세팅이 잘 되어 있으면 개발이 굉장히 편해진다. 문서화를 꾸준히 하고 초기 프로젝트 세팅을 잘 하고 원활한 개발을 경험하고 싶다.

 

주기적인 회의 및 회고

회의 및 회고 일정이 고정적이지 못하면 모든 팀원들의 일정을 맞추기 어렵거나 급하게 회고를 써가야 하는 일이 빈번해지는 것 같다. 이번에는 고정적인 날을 정해서 일정하게 회의 및 회고를 진행하고 싶다.

 

프로젝트 몰입

부가적인 일을 더 늘리지 말고 최종 프로젝트에 몰두해서 이끌어 낼 수 있는 성장은 모두 얻어가고 싶다.

 

2차 미션 재시도

HTTPS 를 다시 한 번 도전해보고 싶다. 또한, 시도해보지 못했던 Redis를 이용하여 동시성 처리도 시도해보고 싶다.

 

객관적인 시각

이번 프로젝트를 통해서 기간 내에 할 수 있는 적당한 불륨 사이즈를 경험했으니, 이에 맞춰 스케일을 정하고 개발을 진행하겠다.

 

Summary

분명 아쉬운 점도 존재했지만, 만족스러운 프로젝트였다. 오히려 아쉬운 점은 잘 생각해뒀다가 다음에 써먹을 거리가 생겨서 오히려 좋다~! 열정적인 팀원들을 만나서 여러가지 도전을 해볼 수 있는 기회는 몇 없는 것을 잘 알고 있다. 그래서 더 감사하고 즐거웠다. 다행히 일부지만 같이 할 수 있는 중요한 프로젝트가 하나 더 남아있으니 그 열정에 보다 더 열심히 함께 해서 지금보다 성장을 이루고 싶다.

 

끝!

반응형
LIST