Claude Code 컨텍스트 파일 추가

This commit is contained in:
byun
2026-05-28 11:46:23 +09:00
parent 7a5c397983
commit 05b478372a

89
CLAUDE.md Normal file
View File

@@ -0,0 +1,89 @@
# EV 충전기 AS 관리 시스템
## 프로젝트 개요
전기차 충전기 고장 신고 및 AS 관리 시스템.
cs.byunc.com 으로 운영 중. 5825u Debian 서버, Docker Compose.
## 기술 스택
- Backend: Python FastAPI (포트 8000 내부)
- DB: PostgreSQL (evuser / evcharger)
- Frontend: 순수 HTML/CSS/JS (Nginx 정적 서빙)
- Reverse Proxy: Nginx (포트 5700 노출)
- Container: Docker Compose
## 폴더 구조
ev-charger-as/
├── docker-compose.yml
├── .env ← git 제외 (SECRET_KEY, DB 비번)
├── nginx/nginx.conf
├── backend/
│ ├── main.py ← FastAPI 앱 진입점
│ ├── models.py ← SQLAlchemy ORM
│ ├── auth.py ← bcrypt 직접 사용 (passlib 충돌 이슈 있었음)
│ ├── database.py
│ ├── utils.py ← QR생성, 파일저장
│ ├── init_db.sql ← 최초 DB 스키마 + 기본데이터
│ └── routers/
│ ├── auth_router.py
│ ├── chargers.py ← 충전기 + 충전기종류 CRUD
│ ├── reports.py ← AS 신고 (공개 엔드포인트 포함)
│ ├── repairs.py ← 정비사 조치
│ ├── costs.py ← 출장비 관리
│ ├── improvements.py ← 개선항목
│ ├── accounts.py ← 계정 관리
│ ├── settings.py ← 시스템설정 + 이미지압축설정
│ └── export.py ← 엑셀 다운로드
└── frontend/static/
├── css/style.css
├── js/
│ ├── api.js ← fetch 래퍼 (download 함수 포함)
│ ├── auth.js ← JWT 로컬스토리지 관리
│ └── imageCompress.js ← Canvas API 이미지 압축
└── pages/
├── login.html
├── report.html ← QR 신고 페이지 (공개, 현황 표시 포함)
├── admin/
│ ├── dashboard.html
│ ├── reports.html
│ ├── report-detail.html ← 출장비 요약+수정 폼
│ ├── costs.html
│ ├── improvements.html
│ ├── improvement-detail.html
│ ├── chargers.html
│ ├── charger-types.html ← 수정 기능 포함
│ ├── qr.html
│ ├── accounts.html
│ └── settings.html ← 이미지압축 설정 포함
├── mechanic/
│ ├── dashboard.html
│ ├── repair.html ← 다중사진 + 이미지압축
│ └── scan.html
└── manufacturer/
├── dashboard.html
└── improvement.html
## 사용자 역할
- 일반 사용자: QR 스캔 신고 (로그인 불필요)
- 정비사 (mechanic): 조치 입력, 중복신고 처리
- 제조사 (manufacturer): 개선항목 열람·업데이트
- 관리자 (admin): 전체 관리
## 주요 개발 원칙
- Frontend HTML 수정 → Docker 재시작 불필요 (nginx 정적 서빙)
- Backend Python 수정 → docker compose build backend && docker compose up -d --no-deps backend
- bcrypt: passlib 충돌로 bcrypt 라이브러리 직접 사용 (auth.py 참고)
- 한글 파일명 엑셀: urllib.parse.quote() 로 URL 인코딩 필수
- 이미지 압축: 브라우저 Canvas API (imageCompress.js), 설정은 /api/settings/public
## DB 주요 테이블
charger_types, chargers, users, reports, report_photos,
repairs, repair_reports, repair_photos, repair_costs,
improvements, improvement_reports, improvement_attachments,
improvement_logs, system_settings
## 현재 운영 환경
- 서버: root@debian5825u ~/cs_charger/ev-charger-as
- 접속: https://cs.byunc.com
- 내부포트: 5700
- Gitea: gitea.byunc.com
- 백업: ~/backups/ (매일 새벽 3시 크론)