- Node.js - JavaScript 런타임 환경
- TypeScript (v5.9.3) - 정적 타입 언어
- Express (v5.1.0) - Node.js 웹 애플리케이션 프레임워크
- HTTP Server - Socket.io를 위한 HTTP 서버
- PostgreSQL - 관계형 데이터베이스
- Prisma (v6.19.0) - 차세대 ORM
- 타입 안전한 데이터베이스 클라이언트
- 마이그레이션 관리
- 스키마 기반 데이터 모델링
- JWT (jsonwebtoken) (v9.0.2) - 토큰 기반 인증
- bcryptjs (v3.0.3) - 비밀번호 해싱
- CORS (v2.8.5) - Cross-Origin Resource Sharing
- AWS S3 (@aws-sdk/client-s3 v3.933.0) - 클라우드 스토리지
- Multer (v2.0.2) - 파일 업로드 미들웨어
- Multer-S3 (v3.0.1) - S3 직접 업로드
- Socket.io (v4.8.1) - 실시간 양방향 통신 (채팅 기능)
- Swagger JSDoc (v6.2.8) - JSDoc 주석 기반 API 문서 생성
- Swagger UI Express (v5.0.1) - Swagger UI 제공
- ts-node-dev (v2.0.0) - TypeScript 개발 서버 (핫 리로드)
- dotenv (v17.2.3) - 환경 변수 관리
- Firebase Admin (v13.6.0) - Firebase 관리 SDK (푸시 알림 등에 사용 가능)
src/
├── config/ # 설정 파일 (Swagger 등)
├── middleware/ # 미들웨어 (인증 등)
├── routes/ # API 라우트
│ ├── auth.routes.ts
│ ├── user.routes.ts
│ ├── tag.routes.ts
│ ├── runs.routes.ts
│ ├── like.routes.ts
│ ├── post.routes.ts
│ ├── achievement.routes.ts
│ └── chat.routes.ts
├── socket/ # Socket.io 설정
└── server.ts # 메인 서버 파일
prisma/
├── schema.prisma # 데이터베이스 스키마
└── migrations/ # 마이그레이션 파일
- 인증: JWT + bcryptjs
- 데이터베이스: Prisma ORM + PostgreSQL
- 파일 업로드: Multer + AWS S3
- 실시간 채팅: Socket.io
- API 문서: Swagger/OpenAPI 3.0
- 개발 환경: TypeScript + ts-node-dev
npm run dev- 개발 서버 실행 (핫 리로드)npm run build- TypeScript 컴파일npm start- 프로덕션 서버 실행npm run seed- 데이터베이스 시드 실행