프로젝트 소개


Logo / Mascot

MergeOverFlow.png

서비스 페이지

The most powerful no-code platform

GitHub

GitHub - SaintSSong/SP-last-Project

서비스 기획 의도


<aside> 💡 개발자의, 개발자에 의한, 개발자를 위한 만남 서비스!

상대의 프로필을 보고 이상형을 찾을 수도 있고, 당신에게 필요한 기술을 가진 협업자를 찾을 수도 있습니다!

</aside>


서비스 핵심 기능


서비스 핵심 기능 (1)

서비스 아키텍처


image.png

기술 스택 및 기술적 의사결정


BACKEND

선택한 기술 스택 선택한 이유
NestJS 효율적이고 확장 가능한 서버를 구축하기 위한 강력한 기능 세트를 제공하는 강력한 Node.js 프레임워크입니다. 모듈식 아키텍처, TypeScript 지원, 내장된 최적화 기능을 통해 복잡한 애플리케이션을 쉽게 관리하고 코드 품질을 유지할 수 있습니다.
Socket.io Socket.IO는 WebSocket 프로토콜을 기반으로 하는 라이브러리로, 뛰어난 환경 호환성과 안정성을 제공하여 1대1 매칭 시 실시간 채팅과 즉각적인 알림을 원활하게 구현하고, 여러 채팅방을 손쉽게 관리할 수 있어 우리 서비스에 적용했습니다.
Redis Pub/Sub 로드밸런서를 통해 분산된 서버 환경에서도 소켓 연결을 일관되게 유지하기 위해, Redis 어댑터와 Pub/Sub 기능을 사용해 통합적인 연결 관리를 구현했습니다. Redis의 Pub/Sub 기능을 통해 각 서버 간의 메시지와 이벤트를 실시간으로 동기화하여, 모든 서버에서 일관된 소켓 연결 상태를 유지할 수 있도록 했습니다.
TypeORM TypeScript 기반의 프로젝트에서 SQL 쿼리를 쉽고 직관적으로 다루기 위해서 채택했습니다. TypeORM은 기본적으로 제공되는 기능 외에도 원하는 기능을 자유롭게 추가할 수 있으며, 미래에 프로젝트가 성장할 때 확장하기도 더 쉽습니다. 또한 우리가 원하는 기능을 정확하게 구현하기 위해서나 수정 및 변경과 같은 기능은 유연성이 필요한데 그러한 면모에서 TypeORM이 적합하다고 생각하여 채택하게 되었습니다.

FRONTEND