3주안에 프로젝트를 성공적으로 마무리 할 수 있을까? 걱정했는데 다행히 만족스러운 결과를 낼 수 있어서 좋았다. 비록 초기에는무리하게 계획했지만 다들 의욕을 가지고 끝까지 열심히 해주었기에 잘 마무리 할 수 있었던 것 같다. 끝나고도 다같이 모여서 공부하며 리팩토링을 하고 있어서 좋다 :)
프로젝트의 전체적인 계획을 주도하여 세웠으며, 기획, 중간, 최종 발표를 맡았다.
SearchMap Page, ProfilePage를 구현하였으며 이와 관련된 프론트엔드 및 백엔드를 구현하였다.
SearchMap Page
추가적으로 메인페이지와 가게 정보페이지에서 나타나는 SideBanner와 가게 정보 페이지에서 이용되는 Map을 구현하였다.
프로젝트 중간에 코드 컨벤션을 맞추는데에 하루를 보냈던 경험이 기억에 남는다. 각자 필요한 백엔드 로직을 구현하다보니 불필요한 함수가 생성되는 경우도 있었고, 함수이름이나 매개변수, 파라미터에 대한 컨벤션이 맞지 않아 있어 어떤 역할을 하는 함수인지 잘 판단하지 못하는 경우도 있었다. 따라서 중간 과정에서 칠판에 백엔드에 대한 모든 정보를 기록한 뒤, 모두 함께 컨벤션을 맞춰가며 수정하는 시간을 가졌다. 생각보다 수정하는데에 시간도 오래 걸렸고, 프론트엔드까지 수정해야 해서 복잡하기도 했다. 하지만 수정 후에 코드를 파악하기 더 쉬워졌고, 코드 컨벤션이 맞춰져서 더 깔끔했다. 팀 프로젝트를 하면서 코드 컨벤션의 중요성을 깨달았고, 이를 위해서 기획 단계에서 미리 컨벤션을 맞추는 시간이 필요하며, 프로젝트 중간 중간 팀원 간의 코드 리뷰와 리팩토링 시간을 가져야겠다고 생각하는 계기가 되었다.
모든 팀원들이 의욕적으로 프로젝트에 참여해서 좋았다. 중간 중간 소통하는 시간도 많았으며, 서로의 의견을 경청하고 피드백 할 수 있어서 좋았다. 그리고 조금씩 다른 각자의 장점을 모두 잘 살려 프로젝트를 진행하고 마무리 할 수 있었던 것 같아 뿌듯하다.
정해진 것 없이 자유로운 환경에서 우리의 프로젝트를 진행할 수 있어서 좋았다. 더 나은 프로젝트를 위해 고민하고 팀원들과 소통할 수 있어서 좋았다.
과제 형식의 코딩과는 다르게 프로젝트를 진행하다 보니 기능을 구현하기 위해 필요한 새로운 지식과 여러 라이브러리를 사용해야 했다. 프로젝트를 진행하면서 새로운 것을 공부하고 사용해보면서 경험을 쌓을 수 있어서 좋았다.
이번 프로젝트는 백엔드, 프론트엔드 역할 분담을 한 것이 아니라 개발 하면서 필요한 부분은 각자 구현하였다. 백엔드 지식이 거의 없었던 나는 API를 직접 구현하는 과정이 어려웠다. 처음에는 프론트에서 필요한 여러 데이터들을 서버에 각각 요청하도록 구현하였다. 그러나 서버로 부터 응답 받은 데이터를 이용하여 또 다시 요청해야 하는 경우가 많았고, 그럴 수록 프론트엔드에서 구현해야할 로직은 복잡해졌다. 이러한 문제점을 해결하기 위해 상황에 따른 API를 사용해야 한다는 것을 깨달았다. 프론트엔드에서 필요한 데이터들이 서로 연관되고, 복잡한 경우에도 API를 잘 이용하면 한 번의 요청으로도 서버로부터 필요한 데이터를 응답받을 수 있었다. 결론적으로, 서버 요청과 관련된 많은 로직을 프론트에서 해결하는 것이 아니라 프론트에서는 데이터를 잘 표현하는데에 집중하고, 백엔드에서는 프론트에서 필요한 데이터만 찾아서 응답할 수 있도록 구현해야함을 느꼈다.