-
Notifications
You must be signed in to change notification settings - Fork 2
기술 스택
React 에서 컴포넌트는 독립적인 로직을 가지고 있어 다른 컴포넌트와 분리되어 있다.
따라서 프로젝트가 커질수록 (비록 우리 프로젝트는 소규모지만) 컴포넌트를 특별한 요구사항에 맞게 재사용을 할 가능성이 높아진다.
기획 단계에서 우리 프로젝트에서 재사용 할 수 있는 컴포넌트들이 많다고 판단하였기 떄문에 리액트가 우리 프로젝트에 적합하다고 판단하였다.
우리 팀원들은 모두 지난 학습 스프린트 기간에서 타입스크립트를 경험하였다.
타입스크립트에 대한 공통된 의견은 환경 설정이 어렵고 타입에러가 짜증나지만 좋다 였다.
팀원들은 타입스크립트가 생산성을 높여주는 것을 경험하였다.
첫번째로 자바 스크립트였다면 실행 후 디버깅을 통해 찾아냈어야 할 에러들을 코드 작성시점에서 미리 파악해 제거할 수 있었다.
두번째로 개발자가 정의한 Object Property를 코드 자동완성을 통해 빠르게 작성할 수 있었다.
또한 협업함에 있어 다른 팀원들이 작성한 Object Property를 쉽게 파악할 수 있을 것이라고 생각 되었다.
따라서 우리 팀은 타입스크립트를 프로젝트에서 활용하기로 결정하였다.
다른 상태관리 라이브러리인 redux, mobx 처럼 복잡한 상태관리 구조를 가지지 않고 짧은 러닝커브를 가지고 있어 짧은 기간안에 학습과 개발을 진행해야 하는 우리 프로젝트에 적합하다고 판단되었다.
또한, 프로젝트에서는 클래스형 컴포넌트를 사용하지 않고 리액트 훅을 이용한 함수형 컴포넌트를 사용할 예정이다.
따라서 함수형 컴포넌트를 위해 탄생한 상태관리 라이브러리인 Recoil을 사용하기로 결정하였다.
우리 팀원들의 주 사용 언어는 Javascript 이며 모두 풀스택으로 프로젝트에 참여하고 있다.
또한 6주라는 짧은 시간에 프로젝트를 완성해야 하기 때문에 빠르고 쉽게 API 서버를 구축할 수 있는 장점이 있으며 더불어 Javascript를 사용할 수 있는 Express 를 API 서버 구현을 위한 프레임 워크로 채택하였다.
첫번째로 MySQL은 무료로 사용 가능 하다.
두번째로 팀원 모두 MySQL을 사용해본 경험이 있어 모두 백엔드 작업에 기여할 수 있을 것 같다고 생각되었다.
우리 프로젝트에서 6주차에 유닛 테스트를 진행할 예정이다.
유닛 테스트를 하기 위해선 함수 하나 하나를 분리하여 함수 단위로 테스트를 할 필요가 있다고 판단되었다.
또한 Express API 서버의 모든 코드를 router에 넣게 된다면 가독성이 떨어질 것이라고 판단된다.
그리고 MVC 패턴을 적용하면 M-V-C 를 분리하여 작업 가능하기 때문에 생산성도 높아 질것 같다고 판단되어 해당 패턴을 적용하기로 하였다.