Files
TK-FB-Project/api.hyungi.net/package.json
Hyungi Ahn dea325739a feat: Swagger/OpenAPI 문서화 시스템 구축
- Swagger 패키지 설치 및 설정:
  * swagger-jsdoc, swagger-ui-express 패키지 추가
  * /api-docs 엔드포인트에서 Swagger UI 제공
  * /api-docs.json 엔드포인트에서 JSON 스펙 제공

- 포괄적인 Swagger 설정 파일 생성:
  * config/swagger.js: OpenAPI 3.0 스펙 정의
  * 공통 스키마 정의 (User, Worker, Project, Task, DailyWorkReport)
  * 표준 응답 스키마 (SuccessResponse, ErrorResponse, PaginatedResponse)
  * JWT Bearer 인증 스키마 설정

- API 문서화 적용:
  * Authentication API: 로그인 엔드포인트 문서화
  * Workers API: 전체 CRUD 작업 문서화
  * 상세한 요청/응답 스키마 및 예시 포함
  * 에러 코드별 응답 정의

- Swagger UI 커스터마이징:
  * 브랜딩 및 UI 개선
  * 인증 토큰 지속성 설정
  * 필터링 및 탐색 기능 활성화

- 접근 방법:
  * http://localhost:20005/api-docs - Swagger UI
  * http://localhost:20005/api-docs.json - JSON 스펙
2025-11-03 11:00:45 +09:00

29 lines
741 B
JSON

{
"name": "hyungi-api",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "pm2-runtime start ecosystem.config.js --env production",
"dev": "pm2-runtime start ecosystem.config.js --env development"
},
"dependencies": {
"@simplewebauthn/server": "^13.1.1",
"async-retry": "^1.3.3",
"bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"express": "^4.18.2",
"express-rate-limit": "^7.5.0",
"express-validator": "^7.2.1",
"helmet": "^7.2.0",
"jsonwebtoken": "^9.0.0",
"multer": "^1.4.5-lts.1",
"mysql2": "^3.14.1",
"pm2": "^5.3.0",
"qrcode": "^1.5.4",
"sqlite3": "^5.1.6",
"swagger-jsdoc": "^6.2.8",
"swagger-ui-express": "^5.0.1"
}
}