[PMS 완성] - core/si_report.py: 일/주/월 보고서 (Excel/HTML/PDF/DOCX/PPTX) - routers/si_report.py: daily|weekly|monthly + 메신저 발송 - routers/deliverables.py: 산출물 CRUD + 제출/검토 - si_issues.py: 이슈→SR 자동 연결 - scheduler.py: 일일 18:00 + 주간 금 17:00 자동 보고서 - models.py: Deliverable 모델 [준수성 자동 점검] - core/compliance_check.py: SC-8개/WA-7개/PI-6개 규칙 - routers/compliance.py: 스캔 + HTML/Excel 보고서 [JMeter 성능 테스트] - routers/jmeter.py: JTL 업로드 + 내장 부하 테스트 + 보고서 [공공기관 필수 기능] - routers/public_checklist.py: 행안부 기준 19개 항목 [UI/브랜드] - 로고(ziologo.png) + Copyright 2026 All Rights Reserved - Nifty 계층형 사이드바 (PMS 서브메뉴) - X-Powered-By + X-Copyright 응답 헤더 - manual/15_UI_Nifty_가이드.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
29 lines
712 B
Plaintext
29 lines
712 B
Plaintext
fastapi>=0.115.0
|
|
uvicorn[standard]>=0.32.0
|
|
sqlalchemy>=2.0.0
|
|
aiosqlite>=0.20.0
|
|
pydantic>=2.10.0
|
|
python-dotenv>=1.0.1
|
|
python-multipart>=0.0.12
|
|
aiofiles>=24.1.0
|
|
cryptography>=42.0.0
|
|
python-jose[cryptography]>=3.3.0
|
|
pyotp>=2.9.0
|
|
qrcode[pil]>=7.4.2
|
|
# F-2: Redis 캐시 (선택적 — 미설치 시 인메모리 캐시로 폴백)
|
|
redis>=5.0.0
|
|
# F-3: API Rate Limiting
|
|
slowapi>=0.1.9
|
|
# G-10: PWA Push 알림 (선택적 — VAPID_PRIVATE_KEY 설정 시 활성화)
|
|
pywebpush>=2.0.0
|
|
# G-12: PostgreSQL 마이그레이션
|
|
alembic>=1.13.0
|
|
asyncpg>=0.29.0
|
|
psycopg2-binary>=2.9.0
|
|
# SI 보고서 생성 (WBS/산출물/일간/주간/월간)
|
|
openpyxl>=3.1.2
|
|
python-docx>=1.1.0
|
|
python-pptx>=0.6.23
|
|
jinja2>=3.1.3
|
|
weasyprint>=62.0
|