프로젝트 목록으로 돌아가기

Worldisaster - 재해 정보 관리 시스템

NestJS와 Socket.io 기반의 실시간 재해 정보 모니터링 및 알림 플랫폼입니다. 3D 지구 모델과 WebSocket을 활용한 실시간 알림, Redis Pub/Sub 채팅 시스템을 구현했습니다.

Backend Development2023.10 - 2023.12팀 프로젝트 (4명)

프로젝트 개요

Worldisaster는 전 세계 재해 정보를 실시간으로 모니터링하고 알림을 제공하는 종합 플랫폼입니다. NestJS와 TypeScript로 구축된 백엔드는 WebSocket Gateway를 통한 실시간 재해 알림, Redis Pub/Sub 기반 채팅 시스템, JWT/OAuth2 인증, 이메일 알림 서비스를 제공합니다. 3D Cesium 지구 모델을 활용한 직관적인 UI로 재해 위치를 시각화하고, PayPal 결제 시스템과 AWS S3 기반 동영상 스트리밍까지 지원하는 풀스택 플랫폼입니다.

주요 기능

  • 실시간 재해 알림 WebSocket 시스템
  • Redis Pub/Sub 기반 실시간 채팅
  • 3D Cesium 지구 모델 재해 시각화
  • JWT/OAuth2 Google 소셜 로그인
  • 이메일 구독 및 알림 서비스
  • AWS S3 동영상 업로드 및 스트리밍
  • PayPal 결제 시스템
  • 욕설 필터링 채팅 시스템
  • 재해 유형별 필터링 및 아카이빙

기술적 도전

  • NestJS WebSocket Gateway를 통한 실시간 알림 시스템 구축
  • Redis Pub/Sub 패턴으로 확장 가능한 채팅 아키텍처 설계
  • TypeORM과 PostgreSQL 기반 복잡한 재해 데이터 모델링
  • JWT Refresh Token 메커니즘과 Google OAuth2 연동
  • AWS S3와 FFmpeg을 활용한 동영상 처리 파이프라인
  • 다국어 욕설 필터링 시스템 구현

시연 영상

Worldisaster - 재해 정보 관리 시스템 프로젝트

담당 역할

⚙️ Backend🚀 팀장

기술 스택

Frontend

Cesium.js3D Earth ModelJavaScriptHTML5

Backend

NestJSTypeScriptSocket.ioWebSocket GatewayJWTPassportGoogle OAuth2TypeORMPostgreSQLRedisNodemailerPayPal APIBadWords Filter

Infrastructure

AWS S3Redis ServerPostgreSQLFFmpegDocker