Final Project 후기 (Roadgram)

주형(Jureamer)·2022년 3월 31일
0

파이널 프로젝트가 끝난 지 어느덧 3주가 다되간다. 후기를 좀 더 일찍 싶었는데
수료 후 몇주 간은 이력서를 만드는 등 취업준비에 급급하다보니 지금까지 미루다 적는다..ㅠ

1. 팀명 소개

우리의 팀명은 'Mad Code'로 코드에 미쳤다는 뜻으로 급조(?)해서 만든 것치고는 우리끼리 꽤 맘에 들어했던 게 기억이 난다.

2. 프로젝트 소개

파이널 프로젝트 주제는 Instagram의 SNS기능과 트리플 등의 여행 경로 기능을 결합해서 만든 경로 공유 SNS 'Roadgram'이다.

[소개글]

기능은 크게 3가지로 나누어진다.
[공유] 기능

[팔로우] 기능

[검색] 기능



3. 파이널 프로젝트 구성

[기술스택]
프론트엔드 : React React-Router-dom SASS Redux(Redux Toolkit) Axios Oauth 2.0
백엔드 : Node.js NestJS Typescript TypeORM MySQL

정규과정에서도 배우지 않았던 기술들을 많이 도입해서 사용해봤다. Typescript는 이 과정을 자바스크립트 기반으로 공부했기에
파이널때는 꼭 써보고싶은 스택 중 하나였다. NestJS와 TypeORM은 Typescript의 궁합과 아키텍쳐 구성에 있어서 이점이 있기에 선택하게 되었다.
결론은 매우 잘한 선택이며, 앞으로도 NestJS를 기반으로 더 공부를 해볼 계획이다.
NestJS에 관한 후기는 여기에서 많이 떠들어서 이 글에서 담지 않으려고 한다.


[DB 구성]

현재 미구현된 기능을 제외하더라도 8개의 테이블을 만들어 사용했다. 토이프로젝트급에서는 테이블이 많아야 5개정도라고 하는데 우리는 짜다보니(?) 8개까지 늘어나게 됐다. SNS의 기능을 많이 가져오고 싶어서 팔로우, 좋아요, 태그 기능 등을 도입하다보니 늘어났다고 해야될까,,


[아키텍처 구성]

이번 프로젝트에서는 도메인을 구입해서 roadgram.net이라는 예쁜 주소도 얻었다. (AWS에서 무료는 죽어도 승인을 안해줘서 유료로 바꿨다는 슬픈 전설이..)
서버는 EC2와 CodePipeline을 통해 자동배포를 구축했고 클라이언트는 S3로 배포하고 있다.
이번에 도메인 작업을 하면서 LoadBanlancer와 Route53 등을 사용한 걸로 알고있다. 이 부분은 내가 같이 붙어서 해보지 않아서 좀 아쉬운 부분이기도 하다. 아마 새 토이프로젝트를 하게 된다면 구성 작업은 직접 해보고싶다.

4. 나의 Role

나는 FullStack으로 백엔드-> 프론트엔드로 개발에 참여하였다. 팀원이 4명에 백엔드 지망이 총 3명이어서 2명이 FullStack으로 하기로 결정했지만
나중가서는 3명 다 FullStack으로 개발 할 수 밖에 없었다.(프론트엔드쪽은 시간이 갈수록 일이 점점 늘어나더라는,,)
백엔드에서는에서는 API, DB Schema를 설계하고 게시물 CRUD태그 검색 등의 기능을 구현해 볼 수 있었다.
프론트엔드에서는 회원가입 유효성 검사 및 기능 구현, 일반 로그인카카오 소셜 로그인(Oauth 2.0) 기능 구현 등을 해볼 수 있었다.

확실히 프론트엔드는 프론트엔드만의 눈으로 구현하는 것을 바로 보는 재미가 또 쏠쏠했다. (그리고 Redux Tool Kit을 썼는데 참 편리하더라는)

5. 후기

[88, 433이 의미하는 숫자는?]
88개의 Task와 433개의 Commit (코드스테이츠에서 이런 식의 질문이 많아서 따라해봄ㅋㅋ)
현재 진행중인 숫자다! 파이널 프로젝트를 하기 전에 선배 기수들의 Github를 봤을 때 issues에 100개가 넘는 글들을 보면서 어떻게 저렇게 많이 올릴 수 있지? 생각했는데 우리가 어느새 그렇게 하고있더라ㅋㅋㅋ.. 더 세분화 시키면 Task도 100개가 훌쩍 넘는다고는 하는데 우리의 귀차니즘(?)때문은 아니겠지만 아쉽게도 100개를 넘진 못했다. 아마 리팩토링하면서 100개를 넘길 수 있지 않을까 기대 해본다.


[리팩토링 마렵..아니 하고싶다..]
하나의 큰(?) 미니프로젝트가 끝나고 나니 홀가분한 마음도 있지만 완성도에 아쉬움이 많이 남는다. 그리고 Advanced, Nightmare 등
기획단계 때 생각했지만 구현까지 가지못한 우리의 아이들이 많이 남아있었다. 걔들을 성불시키기 위해서라도..(우리를 위해서..) 리팩토링을 통해
끝까지 매듭을 짓기로 했다. 다행히 다른 팀원 모두 한 마음 한 뜻으로 뭉칠 수 있었기에 가능한 일이라고 생각한다.


[온라인의 마무리는 역시 오프라인]
프로젝트가 마무리가 되고 리팩토링 시작 전에 서울에서 모여서 오프라인 모임을 가졌다. 다행히 팀원들이 다 수도권에 거주해서 우리의 서비스를 사용해 중간지점을 계산했다ㅋㅋㅋ(역시 우리 작품ㅋㅋ).

홍대 인근이 중간으로 나와서 상수동 근처 고깃집에서 1차를 한 뒤 2차까지 깔끔히 마무리 했다. (역시 개발자는 술자리에서 리팩토링 얘기를 해야 제맛잊..) 먼저 취업한 사람이 커피를 사자는 행복한 제안을 했는데 과연 누가 쏠 것인지도 초유의 관심사다.

끗!

profile
작게라도 꾸준히 성장하는게 목표입니다.

0개의 댓글