개발을 진행하는 브랜치는 develop 브랜치로 설정했고,Pull Request를 해야지만 develop 브랜치에 merge 될 수 있도록 했으며, 자신의 로컬 브랜치에서 merge되면 리모트 브랜치가 자동으로 삭제되도록 했었습니다.
이렇게 환경설정을 해놓으니까 충돌 나는 일이 훨씩 적었고, Confilct에 시간을 빼앗기는 일이 훨씬 적었고, 만약 충돌이 난다고 하더라도 로컬에서가 아닌 github 홈페이지(remote)에서 팀원들과 함께 수정해서 시간이 많이 단축되었습니다.
프로젝트를 하며 느낀 점
이미 기존에 해봤던 기능들이나 새로운 기능들 다 쉬운 것이 없었습니다.
데이터 크롤링은 처음 해봤는데 크롤링을 해서 가져오는 데 성공했는데(물론 한 번에 성공하지는 않았습니다..) 그 다음에 이제 가져온 데이터를 정규화 하는 과정이 필요했기 때문에 밑에 사진처럼 DB 데이터를 정규화하는 틀을 만들어서 작업을 해서 원하는 데이터가 잘 나오게 수정했습니다.
이렇게 하니 DB 데이터가 한 눈에 보기 쉬웠고, 좀 더 정확하고 원하는 결과를 얻을 수 있었습니다.
또한 기능을 구현하기 위해서 로직을 생각할 때 흐름 시나리오를 생각해보며 먼저 메모장에 적으며 로직을 짜보았습니다.
예시로 레시피 페이지에서 요리하기 버튼을 눌렀을 때의 로직을 생각해서 구현해냈습니다. 생각해야 할 예외처리가 많이 생겨서 머리가 좀 아팠지만 로직을 구현해냈을 때의 기쁨은 말로 표현할 수 없었습니다.
- 레시피 페이지에서 요리하기 버튼을 누르는 액션(재료가 남는 다는 가정하에 비율은 0, 50, 100 이 세 개)
1. 레시피에 사용할 식재료 선택 if 재료의 비율이 100일 때, 체크 박스에 체크를 하고, 버튼을 누르게 되면, 무조건 비율이 50으로 줄어든다. else if 재료의 비율이 50일 때, 체크 박스에 체크를 하고, 버튼을 누르게 되면 비율이 50으로 유지. else 체크 박스에 체크를 하지 않을 시 validation
2. 체크한 재료 중에서 남는 재료와 남지 않는 재료 선택 현재 체크한 재료는 모두 비율이 50. if 체크한 재료가 남으면 비율이 50으로 유지. else if 체크한 재료가 안남으면 비율이 0으로 되면서 DB에서 삭제
마무리
이번 프로젝트를 통해 Front, Backend, DB, 서버 배포에 대해 흐름을 더 자세히 알 수 있었습니다.
다음 프로젝트는 React를 통해서 서버단과 프론트단을 아예 분리해서 할 텐데 이번에는 ejs로 해서 백에서 프론트 넘기고 그런 과정이 많이 어렵지는 않았던 것 같습니다.
지금 듣고 있는 이 과정 안에서 첫 프로젝트이다보니 열심히 하고자 하는 마음이 컸다보니 열심히 하게 되었던 것 같습니다. 배운 점도 많고, 같이 팀원들과 열심히 한 덕분에 1차 팀 프로젝트 대상을 받을 수 있었습니다.
나만 열심히 하는 것이 아닌, 팀 프로젝트는 함께 열심히 하는 것이 매우 중요하다는 것을 느끼게 되었습니다. 그런 의미에서 이번 프로젝트는 결과를 떠나 성공적인 프로젝트 였던 것 같다고 느낍니다.