DBX CORM (CS Web Program)

CS / 발주 / 반품 통합 관리 웹 애플리케이션. FastAPI + PostgreSQL 기반, Docker로 실행.


기술 스택

  • Backend: Python 3.10, FastAPI, Uvicorn
  • DB: PostgreSQL (외부 Docker 컨테이너 연결)
  • 외부 연동: 네이버 커머스 API, 카페24 API, Google Sheets
  • Frontend: Jinja2 템플릿 + Vanilla JS

사용 DB

DB 이름 용도
itemcode_db 품목코드 마스터
orderlist_db 주문 정보 조회
return_db 반품 데이터 저장

모두 DB 계정은 king 통일.


서버 배포 절차 (/opt/dbx-corm)

1. 코드 받기

sudo mkdir -p /opt/dbx-corm
sudo chown $USER:$USER /opt/dbx-corm
cd /opt
git clone https://gitea.no1king.freeddns.org/king/dbx-corm.git
cd /opt/dbx-corm

2. 환경변수 설정

cp .env.example .env
nano .env

.env 파일에 다음을 채워주세요:

  • POSTGRES_PASSWORD (DB 비밀번호)
  • POSTGRES_HOST (PostgreSQL 컨테이너 이름. 아래로 확인)
  • NAVER_CLIENT_ID, NAVER_CLIENT_SECRET
  • CAFE24_CLIENT_ID, CAFE24_CLIENT_SECRET, CAFE24_REDIRECT_URI

PostgreSQL 컨테이너 이름 확인:

docker ps --filter "ancestor=postgres" --format "{{.Names}}"

3. PostgreSQL 네트워크 확인 / 수정

docker network ls | grep postgres

docker-compose.ymlnetworks.postgres-net.name 값을 실제 네트워크 이름으로 수정.

4. 민감 파일 업로드 (Git에 없음)

로컬 PC에서 서버로 직접 복사:

# 로컬 PC에서 실행
scp cafe24_tokens.json king@<서버>:/opt/dbx-corm/
scp manual-ordering.json king@<서버>:/opt/dbx-corm/

5. 빌드 및 실행

cd /opt/dbx-corm
docker compose up -d --build

6. 상태 확인

docker compose ps
docker compose logs -f

업데이트 (Git pull 후 재배포)

cd /opt/dbx-corm
git pull
docker compose up -d --build

접속

  • 컨테이너 포트: 8002
  • 호스트 포트: 8002
  • 헬스체크: http://<서버>:8002/

Nginx Proxy Manager 등을 사용한다면 <서버>:8002로 프록시 설정.


로컬 개발 (Windows)

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

copy .env.example .env
:: .env 편집

python main.py

Gitea 푸시 (Windows)

리포지토리에 변경사항을 올릴 때:

push_to_gitea.bat

스크립트가 변경사항 확인 → 커밋 메시지 입력 → push 자동 수행.


주의사항

  • .env, cafe24_tokens.json, manual-ordering.json민감 파일은 절대 Git에 올리지 마세요.
  • .gitignore에 자동 제외 설정되어 있습니다.
  • DB 이름은 반드시 orderlist_db를 사용 (예전 이름 orderlist_app 사용 금지).
S
Description
CS, 발주, 반품, 상품관리 통합 프로그램
Readme 2.4 MiB
Languages
JavaScript 42.9%
Python 27.2%
HTML 23%
CSS 6.2%
Batchfile 0.5%
Other 0.2%