이번달 1일부터 99일간의 항해가 시작되었다.
2월동안 사전준비로 프론트, 백, DB그리고 배포까지 빠르게 익혔고 그 것을 바탕으로 한주동안 간단한 서비스를 만들어 봄으로써 준비운동을 했다.
첫 날 어떻게 이 기나긴 항해가 어떻게 진행될 것인지 간단히 OT를 하고, 팀을 배정한 후, 묻지도 따지지도 않고 바로 프로젝트가 시작되었다. 다른 조들은 3명씩인데 단 두 팀만이 두명이었고, 그 두 팀중의 하나가 나의 팀이었다. 팀을 배정받고 여러 걱정이 들었는데..
이렇게 였다. 그러나 첫 번째 걱정은 인원이 적은 만큼 더 집중할 수 있어서 오히려 좋다는 생각을 했고. 두 번째 걱정은 언젠간 해야만하는 거였는데, 그나마 자신있는 프로젝트여서 오히려 좋다는 생각을 했고, 마지막 걱정은 남을 가르치는 것 만큼 자신의 실력을 높이는 방법이 없다는 생각을 하니 오히려 좋다는 생각이 들었다. 이런 생각을하니 마음이 한결 가벼워지면서, 더 열심히 임해야겠다는 큰 동기가 되었던 것 같다.
본격적인 코딩에 앞서서 프로젝트의 주제를 정했는데, 과정이 시작하기 전에 작성했던 팀원의 프로필 카드(?)를 보고, 공동의 관심사가 반려동물이라는 것에 영감을 받아 강아지 유치원에서 선생님들이 작성하는 알림장을 웹으로 만들어 보기로했다. 기획부터 서비스를 만드는 것은 처음이라 브레인 스토밍에서 나온 건 다 넣으려고 했으나, 기간이 짧기도하고 그럴 능력도 부족하기 때문에 항해에서 요구하는 필수적인 기능(로그인과 SSR)만 넣기로 결정했다.
화면은 총 4개의 화면으로,
이렇게 구성을 했고, 화면 디자인을 손으로 그려서 와이어 프레임을 만들었다. 또, 어떤 API를 사용해야 할 것인지 API명세서를 만들고, 깃헙 repo를 만들어 제출하고 첫 날을 마쳤다.
두 번째날부터는 본격적으로 코딩을 시작했다. 서로 역할을 나누었는데, 난 서버와, 로그인, 회원가입을 만들기로 했다. 아무래도 팀원이 경험이 많이 부족해서 내가 좀 더 많은 부분을 담당하는게 맞다 생각하여 이렇게 분배하였다. 프로젝트를 원할하게 진행할 수 있도록 도움을 주는 강의들을 제공받았는데, 난 그 강의가좀 불만이 있었다. 왜냐하면 난 jquery를 별로 좋아하지 않는데, 대부분의 프론트 기능을 jquery를 이용해서 만드는 것이었다!! 그래서 VanillaJS로 전부 바꿔서 진행하고 싶었지만, 막상 사용해보니 되게 편한것도 있었고, 또 팀원이 이해를 하지 못 할까봐 그냥 jquery로 진행하였다.(언젠가는 꼭 바닐라로 바꿀 것이다..) BootStrap을 이용하여 화면을 디자인하고, Flask로 서버를 만들어서 로그인 인증과, 화면 라우팅을 만들었다. 이렇게 3일동안 매일 12시간도 넘게 개발을 했는데, 사실 학생때도 이런적 없던 내가 이렇게 하고 있다는 사실이 너무 놀라웠다..
심지어 많이 힘들지도 않고, 그 과정이 너무 재미가 나서 개발의 진짜 재미를 느낀거 같아 한편으로 내 자신이 좀 대견했다..ㅎㅎ
프로젝트를 진행하면서 SSR과 JWT인증방식에 대해 배웠는데, 혼자 리액트로 공부할 때 한번씩 들어본 것들이라 낯설지만은 않은 개념이어서 어렵지 않게 이해할 수 있었던 것 같았다.
나의 조의 결과물은 최초 목표했던 기능들을 다 추가를 했기 때문에 나름 성공적인 프로젝트였다고 부르고싶다. 제출 후 수정하는 로직에서 오류를 발견해서 난감하긴 했지만.. 이렇게 해서 첫 프로젝트가 성공적으로 끝이났다. 베스트 프로젝트 TOP3에는 들어가지 못했지만, 끝냈다라는 보람은 나쁘지만은 않더라. 코딩을 처음 했다는 팀원은 프로젝트를 진행하는데 있어서 전혀 영향을 끼치지 않고 자기 역할을 다해주어서 너무 고맙고, 어설픈 가르침에도 고마워해서 미안할따름이다..
다음 주 부터는 두 주동안 알고리즘 기간이다.
사실 알고리즘에 트라우마가 강한데, 인고의 시간을 거치면 충분히 이겨낼 수 있으리라 믿는다.