저번 주차에 이어 이번에는 특정 사이트를 정해 클론 코딩을 해보며 Spring과 협업에 대해 익숙해지는 시간을 가졌다.
우리 팀은 Instagram을 클론 코딩해보기로 했고, 스코프는 아래와 같이 계획을 했다.
이번주에는 백엔드 팀원이 총 2명이라 부담감이 좀 있었는데 미니 프로젝트 주차에 서로 경험했던 기능이 달라서 여태 해보지 못했던 부분을 각자 맡기고 했다.
나는 회원가입/로그인을 했었기에 이번에는 피드, 댓글 CRUD를 맡았고 아래와 같은 기능을 실제 구현했다.
월요일 저녁쯤에 위의 기능 구현과 postman으로 정상적으로 잘 작동하는지까지 확인을 끝내고 중간 멘토링에 들어갈 수 있었다.
멘토링 시간에 좋아요, DM, 팔로우 기능 중에 어떤 걸 기능적으로 먼저 해보면 좋을 것 같은지 튜터님께 질문을 드렸는데, 프론트의 진행 상황을 들으시더니 실전 프로젝트 때 충분히 도전할 시간이 있으니 Java 기본 공부에 집중하는 시간을 가지라는 답변을 들어 백엔드 팀원분과 상의 후 개인 정비 시간을 가졌다.
생각보다 프론트쪽에서 진행이 더뎌 실제로 프로젝트에 담긴 기능은
에서 마무리 짓게되었다.
백에서 프론트쪽으로 response 해줄 때 어떤 형태로 데이터를 내려보낼지에 대한 고민을 깊게 해볼 수 있었던 주차였다.
실제로 PrivateException
을 만들어 각 상황에 따라 코드와 메시지를 내려줬고, 참고할 수 있도록 팀 노션에 정리를 해두었다.
앞선 주차들에서는 내가 맡은 기능을 구현하기에 급급했는데, 데이터에 어떤 내용을 담아줘야 프론트 쪽에서 조금 더 쉽게 받아들이 수 있는지에 대해 고민하고 적용해 볼 수 있었던 주차였던 것 같다.
그리고 S3 서버에 이미지를 업로드하는 것 또한 처음 해본 것이었는데, 참고 자료가 있긴했으나 우리 프로젝트에 녹여내기에는 조금씩 핀트가 달라서 조금 애를 먹었었다.
다중 이미지 업로드를 List에 이미지url을 담아 내려보내는 것으로 구현을 했고, postman으로도 확인을 했지만 프로젝트 당시 다중 이미지 업로드를 프론트쪽에서 구현하지 못해 내가 구현해 놓은 것 외에 또 추가적으로 필요한 것이 없는지는 확인을 하지 못해 아쉬움으로 남기도 했지만 좋은 경험을 한 것 같았다.
1주일이란 시간동안 기획부터 구현에 배포까지 짧은 기간이라는 건 알지만, 그럼에도 계획대로 구현을 해내는 팀이 더러 있었기에 마음이 조급했던 것 같다.
특히 백에서는 구현을 끝냈지만, 프론트쪽에서 진행이 안되어 프로젝트 완성도가 떨어지는 상황이 되니 답답했던 마음이 컸던 것 같다. 이런 상황에 백쪽에서 무엇을 더 할 수 있을지에 대해 고민을 좀 더 해봤어야 하지 않나 싶다.
또한, 핵심 기능이 우선임을 다시 한 번 배울 수 있었다.
프론트쪽에서 댓글 CRUD를 맡으신 분이 댓글은 손을 못대겠다며 제출 당일에 좋아요 기능을 추가하기로 갑자기 정하셨는데, 회고 멘토링 때 해당 프로젝트의 핵심을 어쨌든 피드 CRUD에 댓글 CRUD였을 텐데 피드 업데이트와 삭제도 완성 못한 상황에서 좋아요 기능으로 방향을 선회한 것은 아쉬움이 남는다는 얘기를 듣고 너무 시각적인 것에만 신경을 많이 썼던 것은 아닌가, 기능에 대해 집중하지 못했던 것은 아닌가 하는 생각을 하게 되었다.
여전히 생각지 못한 부분들이 많고 배워나가야될 것도 많은 상황임을 다시 한 번 깨달았던 주차였다. 더 열심히 나아가길..!!