2주간의 생애 첫 프로젝트를 마치면서 여러가지 기분들이 함께 들었다.
첫 시작은 너무나 좋았다. 모두 마음이 맞기도 하고 성격도 비슷한 아재 넷이 모여서 아이디어를 주고 받으며 시작했다.
그렇게 나는 Back-end를 맡게 되었고, 설계부터 했다.
DB Schema를 Sprint때 짜 봤지만, 실제로 프로젝트에 맞게 짜려니 여간 어려운 게 아니었다.
그래도 M : N 관계까지 잘 설정하여 Schema를 짰고 DB model을 짰는데, 여기서부터 문제가 시작되었다.
Foriegn Key 설정이 내 마음대로 되지 않았다 . 우리는 프로젝트 때 AWS RDS로 Mysql을 사용하였고, 실제 모델 작업에는 Sequelize를 사용했다.
하지만 Sequelize 공식 문서대로 했음에도 불구하고 Foriegn Key 설정은 마음대로 되지 않았고, 나중에는 우리가 만들어주지 않은 Column을 쿼리할 때 찾거나, 만들어내는 식의 오류를 발생시켰다.
그래도 공식문서와 검색을 통해 결국은 Column이름을 Sequelize에 맞춰주는 식으로 타협을 봐서 잘 해결 되었다.
그 뒤에도 여러가지 문제들이 있었지만 나름 팀원분들과 함께 잘 해결해나갔다! 그렇게 금요일 밤 포스트맨으로 모든 테스트를 마치고 끝났다고 생각했다...
그렇지만 그건 큰 오산이었고, 실제 클라이언트 코드와 테스트를 해보니 원래 우리가 로그인 유지를 위해 사용하려고 했던 session이 전달 되지 않는 오류를 발견했다.
그래서 로그인 뒤 모든 작업에서 에러가 났고, 그 에러를 고치기 위해 정말 많은 시간을 소요했다.
이틀 정도를 이 오류 해결에 썼던 것 같다. 팀원들과 같이 하나하나 모든 cookie, session 설정을 바꿔보고 테스트를 해보았지만 여전히 포스트맨에서는 가능했지만, 실제 브라우저에는 적용이 되지 않았다.
req.session.save()를 사용해봐도 안 됐고, 정말 elb, ec2 설정들을 다 건드려보았던 것 같다.
그 이틀이 2주간의 프로젝트 중 가장 힘들었던 시간이었고, 하나하나 설정을 바꾸고 테스트를 할 때 마다 늘 제발 되기를.. 이번엔 되기를.. 모든 신을 다 찾았던 것 같다.
결국 모든 설정을 다 만져보고도 해결이 되지 않아서 일단 first project니까 cookie로 back-end 쪽 코드를 다 고쳤고, 모든 기능 테스트들을 성공시켰다.
정말 2주간의 노력들이 빛을 발하는 순간이었다.
같이 고생한 팀원분들이 너무 고맙게 느껴졌고, 이루 말할 수 없는 성취감이 느껴졌다.
하지만 역시나 해결하지 못 한 부분들이 있었기에 약간의 아쉬움도 들었고, 기본기에 좀 더 투자를 해야겠다는 생각을 했다. cookie와 session에 있는 설정들을 보면서 '이런 설정들도 있었구나'라고 생각했기 때문이다.
그리고 팀원들에게 무언가 의견을 제시할 때는 좀 더 정확한 정보를 먼저 필터링을 하고 난 뒤 정보제공을 해야겠다고 생각했다.
내 정확하지 않은 정보때문에 혹시 다른 팀원들이 고생을 할 수도 있을거라 생각이 들었다.
그래도 2주라는 짧지만 긴 시간동안 하나의 프로젝트를 나름 성공적으로 마무리 할 수 있어서 정말 다행이었다.
좋은 팀원 분들과 함께 한 시간이라 코딩의 즐거움과 배움의 즐거움을 느낄 수 있었고, 보람찬 2주였다.