| FE framework |
React + Vite |
프로젝트 특성상 seo를 고려 할 필요가 없으므로 렌더링 전략은 CSR로도 충분하기에 React 를 선택했습니다. |
| CSS |
tailwindcss |
별도의 css파일을 만들지않기에 복잡하지 않고 쉬운 진입장벽에 선택했습니다. |
| state management |
Zustand , Tanstak-query |
게임에서 사용되는 전역 데이터들을 최적화 + 효율적으로 관리하기 위해 선택했습니다. |
| FE Test |
Jest |
대표적인 테스트 라이브러리, 백엔드와 통일성 있는 테스트도구 사용 |
| BE framework |
Nest.js |
- Nest.js: 여러 명이서 협업해야하는 환경에서 동일한 틀을 제공해주는 프레임워크이기 때문에 사용하였다. |
| BE Test |
Jest |
대표적인 테스트 라이브러리 |
| BE ORM |
prisma |
TypeORM보다 타입 안정성이 더 높고 개발자 친화적인 쿼리 메서드들을 제공해주며 간편한 Migration이 가능하다. |
| 실시간 통신 |
socket.io |
다중 사용자의 안정적인 양방향 실시간 통신을 지원하기 위해서 사용한다. |
| DB |
PostgreSQL, Redis |
- PostgreSQL: Prisma와 호환성이 뛰어나고, 스키마 기반 모델링에 적합한 관계형 DB |