2주간 진행된 프로젝트의 끝
2주 동안의 대장정이 막을 내렸다. 프로젝트를 진행하면서 많은 문제 상황을 마주했고 그 경험을 통해서 내가 부족한 것이 무엇인지 알 수 있는 기회였다.
내가 수행한 것
검색 페이지와 알림 페이지 제작을 주로 했고 기간 마지막에는 이미 완성된 여러 페이지를 조금씩 개선했다.
프로젝트 수행을 통해 배운 것
- 코드 작성 기준 내가 맡은 페이지와 관련된 페이지의 동작을 이해하기 위해서 다른 팀원이 작성한 코드를 확인해야 할 때가 자주 있었다. 다른 사람이 작성한 코드를 읽고 이해하는 과정에서 어떤 점이 이해가 용이한지, 변수의 이름이나 코드 스타일에 대해서 더 고민해 볼 수 있는 기회였다.
- 시간 관리 프로젝트의 Task 분배 이후 각 Task 별로 대략적인 완성 기간을 정하고 진행했지만, 그 기간을 지키는 것이 제대로 이뤄지지 않았다. 개발 기간이 미루어져 결국 디자인 개선을 계획한 날짜까지 페이지의 개발을 해야만 했다. 이를 통해서 개발 일정을 더 세부적으로 나누어 정확한 시간을 계획 하는 것이 중요함을 느낄 수 있었다. 또한 다른 팀원들의 프로젝트 진행 방식을 보며 이미 인증된 유용한 진행 방식이 많음을 느낄 수 있었다.
이번 프로젝트에서 아쉬운 것
- 실시간 상태 관리 로그인 중인 사람을 표시하거나 자신에게 온 알림을 확인하는 것을 실시간으로 하지 못해서 동작이 어색한 부분이 있었다. 변경 사항 확인을 위한 api 호출이 어느 정도가 적절한지 정확한 기준을 잡지 못한 점이 아쉽다.
- UX/UI 다른 몇몇 팀들의 경우, 앞서 말한 상태 관리의 아쉬운 점들을 UX를 통해서 어느 정도 보완한 팀들이 많았다. 예를 들어 알림의 조회가 이루어 지는 간격이 너무 큰 경우, 사용자가 직접 새로 고침 버튼을 눌러 조회가 가능하다면 어느 정도 개선이 가능하다. 또한 하단의 네비게이션 바의 경우 모바일 화면을 고려해서 만들었지만 휴대폰 자체 하단 메뉴로 인해서 조작이 불편하다는 느낌을 받았다. 이러한 몇몇 점들이 프로젝트의 완성도를 떨어뜨리는 것 같아 아쉽다.
- github 활용 github branch 전략은 처음 계획한 방식대로 유지했지만. 칸반 보드나 이슈 처리 등 프로젝트 초반에만 사용하고 이후 점점 생략한 부분들이 많았다. 또한 코드 리뷰도 중간 회고 이후 개선 없이 그대로 진행하여 거의 이뤄지지 않았던 점이 아쉽다.
- 폴더 구조 여러 컴포넌트들이 하나의 폴더 안에 모두 모여있어 어디서 사용되는 컴포넌트인지 확인이 어려웠다. 비슷한 역할을 하는 컴포넌트 또한 많았으며 너무 복잡하거나 큰 컴포넌트 또한 많았다. 초기 계획에서 시간 상 atomic design을 생략한 것이 아쉬웠다.
다음 프로젝트를 위해
- React 스킬 다음 프로젝트의 진행을 Vue로 할지 React로 할지는 미지수지만 이번 프로젝트에서 React를 사용하면서 부족한 점이 많았다. 내 나름대로 리팩터링을 진행하면서도 정확히 어떤 점이 개선이 필요한지, 어떤 점이 더 나은지 스스로 의문이 들 정도로 정확한 기준이나 경험이 부족하다고 느꼈다.