작업 내용
docs/백엔드_기능명세.md 1-A, 1-B, 1-D, 1-E, 1-F 섹션 참고.
Phase 2 전체(관리자 화면 포함)의 선행 작업. 다른 모든 이슈가 이 작업 완료를 전제로 한다.
1-A. orders 테이블에 status, user_coupon_id 컬럼 추가
backend/core/models.py의 Order에 status(ENUM: RECEIVED/COOKING/READY/COMPLETED/CANCELLED, default RECEIVED) 추가
user_coupon_id(FK → user_coupons.id, nullable) 추가 — 환불 시 쿠폰 복구용
database/init.sql의 orders 테이블 정의도 동일하게 동기화
- 이미 생성된 로컬 DB에는
ALTER TABLE orders ADD COLUMN ... 직접 실행 (이 프로젝트는 Alembic 안 씀 — create_all은 컬럼 추가를 안 해줌)
1-B. AdminUser 신규 테이블
backend/core/models.py에 AdminUser 클래스 추가 (id, username, password_hash, display_name, role[OWNER/STAFF], is_active, last_login_at, created_at)
- 고객용
users 테이블과는 완전히 별도 (계정 개념이 다름)
1-D. 의존성/환경변수
backend/requirements.txt: passlib[bcrypt], python-jose[cryptography] 추가
.env.example: ADMIN_JWT_SECRET, ADMIN_JWT_EXPIRE_MINUTES, ADMIN_BOOTSTRAP_USERNAME, ADMIN_BOOTSTRAP_PASSWORD 추가
1-F. backend/main.py
api/admin/ 라우터들을 등록할 자리 미리 마련 (각 모듈 PR이 이어서 라우터를 추가)
완료 기준
참고
docs/백엔드_기능명세.md — 0-1, 1-A~1-F 섹션. 이후 모든 Phase 2 이슈의 선행 조건.
작업 내용
docs/백엔드_기능명세.md1-A, 1-B, 1-D, 1-E, 1-F 섹션 참고.Phase 2 전체(관리자 화면 포함)의 선행 작업. 다른 모든 이슈가 이 작업 완료를 전제로 한다.
1-A.
orders테이블에status,user_coupon_id컬럼 추가backend/core/models.py의Order에status(ENUM: RECEIVED/COOKING/READY/COMPLETED/CANCELLED, default RECEIVED) 추가user_coupon_id(FK → user_coupons.id, nullable) 추가 — 환불 시 쿠폰 복구용database/init.sql의orders테이블 정의도 동일하게 동기화ALTER TABLE orders ADD COLUMN ...직접 실행 (이 프로젝트는 Alembic 안 씀 —create_all은 컬럼 추가를 안 해줌)1-B.
AdminUser신규 테이블backend/core/models.py에AdminUser클래스 추가 (id, username, password_hash, display_name, role[OWNER/STAFF], is_active, last_login_at, created_at)users테이블과는 완전히 별도 (계정 개념이 다름)1-D. 의존성/환경변수
backend/requirements.txt:passlib[bcrypt],python-jose[cryptography]추가.env.example:ADMIN_JWT_SECRET,ADMIN_JWT_EXPIRE_MINUTES,ADMIN_BOOTSTRAP_USERNAME,ADMIN_BOOTSTRAP_PASSWORD추가1-F.
backend/main.pyapi/admin/라우터들을 등록할 자리 미리 마련 (각 모듈 PR이 이어서 라우터를 추가)완료 기준
orders테이블에status,user_coupon_id컬럼 존재 확인admin_users테이블 생성 확인database/init.sql재실행 시 에러 없이 동일 스키마 생성.env.example에 관리자 관련 변수 전부 반영참고
docs/백엔드_기능명세.md— 0-1, 1-A~1-F 섹션. 이후 모든 Phase 2 이슈의 선행 조건.