Skip to content

Latest commit

 

History

History
119 lines (90 loc) · 3.95 KB

README.md

File metadata and controls

119 lines (90 loc) · 3.95 KB

RiceGrid (GridCutter)

최신 버전 다운로드 (v1.2.0)

React와 Python(pywebview)을 결합한 지능형 이미지 그리드 커팅 및 관리 도구입니다. 고해상도 이미지(TIF 등)를 격자 형태로 정밀하게 자르고, 관리하기 쉬운 인터페이스를 제공하며, AI 모델 학습용 이미지 데이터를 전처리하는 용도로 최적화되어 있습니다.

image image


주요 기능 (Key Features)

  • 지능형 그리드 분할: 대용량 이미지를 설정한 격자 값에 맞춰 자동으로 분할 및 저장합니다.
  • 사용자 정의 프리셋: 자주 사용하는 커팅 설정을 저장하고 불러와 작업 효율을 높입니다.
  • 실시간 미리보기: 프론트엔드(React)를 통해 커팅될 영역을 시각적으로 즉시 확인합니다.
  • 로컬 데이터 관리: 모든 프리셋 데이터는 사용자의 AppData에 안전하게 보관됩니다.
  • 직관적인 UI: 모던하고 깔끔한 대시보드 인터페이스를 제공합니다.

🛠 기술 스택 (Tech Stack)

Frontend

  • React (Vite): 빠르고 반응성 있는 UI 구성
  • Styled Components: 모던한 컴포넌트 기반 스타일링
  • Lucide React: 깔끔한 아이콘 시스템

Backend

  • Python 3.8+: 핵심 로직 및 이미지 처리
  • pywebview: Python과 웹 기술 간의 브릿지 역할
  • Pillow / OpenCV: 고성능 이미지 프로세싱

시작하기 (Getting Started)

개발 환경 설정

  1. 레포지토리 클론

    git clone https://github.com/Lookies09/GridCutter.git
    cd GridCutter
  2. 프론트엔드 의존성 설치 및 빌드

    cd frontend
    npm install
    npm run build
  3. 백엔드 환경 구성

    cd ../backend
    uv sync
  4. 앱 실행

    pywebview는 빌드된 정적 파일을 기준으로 동작하므로, 프론트엔드를 먼저 빌드한 뒤 백엔드를 실행합니다.

    # frontend 폴더에서 빌드
    cd frontend
    npm run build
    
    # backend 폴더에서 실행
    cd ../backend
    uv run python main.py

빌드 및 배포 (Build)

PyInstaller를 사용하여 단일 실행 파일(.exe)로 빌드할 수 있습니다.

주의: 빌드 전 frontend 폴더에서 npm run build를 먼저 수행하여 dist 폴더를 생성해야 합니다.

# backend 폴더에서 실행
uv run pyinstaller --noconfirm --onefile --windowed `
--icon="app_icon.ico" `
--add-data "../frontend/dist;frontend/dist" `
--add-data "src;src" `
--paths "." `
--name "RiceGridApp" `
main.py

빌드가 완료되면 backend/dist/RiceGridApp.exe 파일이 생성됩니다.


프로젝트 구조 (Project Structure)

GridCutter/
├── frontend/                 # React (Vite) 프론트엔드 소스
│   ├── src/
│   │   ├── components/       # 재사용 가능한 UI 컴포넌트
│   │   ├── utils/            # 프론트엔드 공통 유틸리티
│   │   ├── App.jsx           # 메인 애플리케이션 컴포넌트
│   │   └── main.jsx          # 리액트 진입점
│   └── vite.config.js
│
├── backend/                  # Python 백엔드 및 로직
│   ├── tests/                # 테스트
│   ├── src/
│   │   ├── core/             # 핵심 비즈니스 로직 (API 등)
│   │   └── utils/            # 이미지 처리, 파일 IO 등 공통 함수
│   ├── main.py               # 프로그램 실행 진입점
│   └── pyproject.toml        # 파이썬 의존성 목록
│
└── README.md