통합 백엔드 서버 소개

Node.js(버전 18.20.6)와 Express(버전 4.18.2) 환경에서 여러 플랫폼을 모듈화된 구조로 관리할 수 있도록 설계된 강력한 백엔드 서버입니다.

인증, DB 연결, 라우트 등록 등 공통된 기능을 공통 모듈에 담고, 각 플랫폼에 맞는 환경을 폴더 단위로 분리하여 확장성과 유지보수성을 극대화했습니다.

주요 특징:

프로젝트 구조

각 폴더와 파일은 다음과 같은 책임을 갖습니다.

통합 backend server/
├── public/               # 정적 HTML 파일 (404, 500 등)
├── serverUtils/          # 서버 공통 유틸리티 모듈
│   ├─ getPlatforms.js    # 플랫폼 디렉토리 자동 탐색
│   ├─ loadDatabases.js   # 플랫폼별 MongoDB 연결
│   ├─ loadRoutes.js      # 플랫폼별 라우트 등록
│   └─ logger.js          # 로그 출력 (chalk 기반)
├── src/
│   ├─ common/            # 공통 서비스 (IPFS, 이메일, 이미지 등)
│   │   ├─ email/
│   │   ├─ IPFS/
│   │   ├─ LLM/
│   │   ├─ media/
│   │   └─ middleware/
│   ├─ identity/          # 유저 인증 및 관리
│   │   ├─ config/
│   │   ├─ controllers/
│   │   ├─ models/
│   │   ├─ routes/
│   │   └─ services/
│   └─ platforms/         # 플랫폼별 독립 모듈 구조 (A, B, C...)
│       ├─ platformA/
│       ├─ platformB/
│       └─ ...
├── .env                  # 환경 변수 설정
└── server.js             # 서버 초기 실행 파일
      

주요 기능

1) 플랫폼 자동 로딩
serverUtils/getPlatforms.jsserverUtils/loadRoutes.js를 통해 플랫폼을 디렉토리 기준으로 자동 인식 & 라우트 등록합니다.

2) MongoDB 연결 관리
loadDatabases.js로 플랫폼별 MongoDB URI를 설정하고 연결을 점검합니다. 아틀라스 등 클라우드 DB 환경에도 쉽게 확장 가능합니다.

3) 인증 & 보안
auth.js 미들웨어로 JWT 토큰을 검증하며, identity 디렉토리에서 회원가입, 로그인, 이메일 검증 등의 기능을 제공합니다.

4) 공통 서비스

5) 미들웨어

설치 & 실행 가이드

# 1) 프로젝트 클론 git clone https://github.com/your-org/multi-platform-backend.git cd multi-platform-backend # 2) 의존성 설치 npm install # 3) .env 파일 설정 PORT=4000 MONGO_URI_PLATFORM_A=Your_MongoDB_URI JWT_SECRET=Your_Secret_Key ... # 4) 서버 실행 npm start

추가 정보

본 서버는 .env 파일을 통해 환경 변수를 관리합니다. 인증 서버, 메일, OpenAI, IPFS 같은 주요 토큰을 안전하게 보관하세요.

테스트 & 배포

기여 방법