From 3b7cf5d763799663bb3447ad87dcf0b7d0a08642 Mon Sep 17 00:00:00 2001 From: YJKIM Date: Thu, 23 Apr 2026 11:07:38 +0900 Subject: [PATCH] Initial WEHAGO_DB project setup --- .env.example | 3 + .gitignore | 25 +++++++++ README.md | 128 ++++++++++++++++++++++++++++++++++++++++++ main.py | 6 ++ requirements.txt | 5 ++ scripts/run.sh | 12 ++++ scripts/setup_env.sh | 15 +++++ wehago_db/__init__.py | 2 + wehago_db/app.py | 10 ++++ 9 files changed, 206 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 README.md create mode 100644 main.py create mode 100644 requirements.txt create mode 100755 scripts/run.sh create mode 100755 scripts/setup_env.sh create mode 100644 wehago_db/__init__.py create mode 100644 wehago_db/app.py diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..f8eb87f --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +# 필요한 값이 생기면 .env 파일을 만들어 여기에 맞춰 입력하세요. +# 예: WEHAGO_API_KEY=값 + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ab68ca --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +.venv/ +__pycache__/ +*.pyc +*.pyo +*.pyd +.Python +.env +.env.* +!.env.example + +# Local data and exports +data/ +*.db +*.sqlite +*.sqlite3 +*.xlsx +*.xlsm +*.csv + +# IDE and OS files +.vscode/ +.idea/ +.DS_Store +Thumbs.db + diff --git a/README.md b/README.md new file mode 100644 index 0000000..4417e7e --- /dev/null +++ b/README.md @@ -0,0 +1,128 @@ +# WEHAGO_DB + +WSL Ubuntu에서 Python으로 WEHAGO 관련 데이터를 다루고, Gitea 저장소와 연동하기 위한 프로젝트입니다. + +## 1. 폴더 위치 + +WSL Ubuntu 터미널에서 접근: + +```bash +cd /home/b17301/WEHAGO_DB +``` + +Windows 탐색기에서 접근: + +```text +\\wsl$\Ubuntu\home\b17301\WEHAGO_DB +``` + +VS Code에서 접근: + +1. VS Code 왼쪽 아래 `><` 모양 또는 `Remote` 버튼 클릭 +2. `Connect to WSL` 선택 +3. `File > Open Folder` +4. `/home/b17301/WEHAGO_DB` 선택 + +## 2. 처음 한 번만 실행 + +```bash +cd /home/b17301/WEHAGO_DB +python3 -m venv .venv +source .venv/bin/activate +pip install -r requirements.txt +``` + +또는 준비 스크립트를 사용합니다. + +```bash +cd /home/b17301/WEHAGO_DB +./scripts/setup_env.sh +``` + +## 3. 실행 방법 + +```bash +cd /home/b17301/WEHAGO_DB +./scripts/run.sh +``` + +직접 실행하려면: + +```bash +cd /home/b17301/WEHAGO_DB +source .venv/bin/activate +python main.py +``` + +## 4. Gitea 연동 + +연결된 원격 저장소: + +```text +https://gitea.hmac.kr/YJKIM/WEHAGO_DB.git +``` + +현재 설정 확인: + +```bash +git remote -v +``` + +변경사항 저장: + +```bash +git status +git add . +git commit -m "작업 내용 설명" +git push -u origin main +``` + +## 5. 자주 생기는 문제와 대처 + +`fatal: not a git repository`가 나올 때: + +현재 폴더가 프로젝트 폴더가 아닙니다. + +```bash +cd /home/b17301/WEHAGO_DB +``` + +`source .venv/bin/activate`가 안 될 때: + +가상환경이 아직 없습니다. + +```bash +python3 -m venv .venv +source .venv/bin/activate +pip install -r requirements.txt +``` + +`pip install`에서 네트워크 오류가 날 때: + +사내망, 프록시, DNS 문제일 수 있습니다. 인터넷 또는 사내 패키지 저장소 접근 권한을 확인해야 합니다. + +`git push`에서 로그인 실패가 날 때: + +Gitea 비밀번호 대신 개인 액세스 토큰을 요구할 수 있습니다. Gitea 웹에서 토큰을 만들고, 비밀번호 자리에 토큰을 입력하세요. + +`remote origin already exists`가 날 때: + +이미 원격 저장소가 설정되어 있습니다. + +```bash +git remote -v +git remote set-url origin https://gitea.hmac.kr/YJKIM/WEHAGO_DB.git +``` + +## 6. 권장 작업 흐름 + +```bash +cd /home/b17301/WEHAGO_DB +source .venv/bin/activate +python main.py +git status +git add . +git commit -m "작업 설명" +git push +``` + diff --git a/main.py b/main.py new file mode 100644 index 0000000..5a68e4d --- /dev/null +++ b/main.py @@ -0,0 +1,6 @@ +from wehago_db.app import main + + +if __name__ == "__main__": + main() + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1bde9ce --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +python-dotenv +requests +pandas +openpyxl + diff --git a/scripts/run.sh b/scripts/run.sh new file mode 100755 index 0000000..891cd2c --- /dev/null +++ b/scripts/run.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")/.." + +if [ ! -x ".venv/bin/python" ]; then + echo "가상환경이 없습니다. 먼저 실행하세요: ./scripts/setup_env.sh" + exit 1 +fi + +exec .venv/bin/python main.py + diff --git a/scripts/setup_env.sh b/scripts/setup_env.sh new file mode 100755 index 0000000..475a120 --- /dev/null +++ b/scripts/setup_env.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")/.." + +if [ ! -d ".venv" ]; then + python3 -m venv .venv +fi + +source .venv/bin/activate +pip install --upgrade pip +pip install -r requirements.txt + +echo "Ready. Run: source .venv/bin/activate" + diff --git a/wehago_db/__init__.py b/wehago_db/__init__.py new file mode 100644 index 0000000..7920131 --- /dev/null +++ b/wehago_db/__init__.py @@ -0,0 +1,2 @@ +"""WEHAGO_DB Python package.""" + diff --git a/wehago_db/app.py b/wehago_db/app.py new file mode 100644 index 0000000..414703c --- /dev/null +++ b/wehago_db/app.py @@ -0,0 +1,10 @@ +from pathlib import Path + + +PROJECT_ROOT = Path(__file__).resolve().parents[1] + + +def main() -> None: + print("WEHAGO_DB project is ready.") + print(f"Project folder: {PROJECT_ROOT}") +