Skip to content

usermaum/Themoon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,321 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Moon Drip Bar

v0.90.4 | 커피 로스터리 통합 관리 시스템 (데스크톱 앱)

Python FastAPI Next.js Electron SQLite


프로젝트 개요

커피 로스터리의 원두 관리, 로스팅 기록, 재고 추적, 원가 계산, 입고 문서 OCR, 글로벌 원두 시세 분석을 하나의 데스크톱 앱으로 통합한 시스템입니다.

핵심 기능

카테고리 기능
원두 관리 생두/원두/블렌드 CRUD, 다국어(한/영), WebP 이미지 최적화, 이미지 크롭/오프셋
로스팅 싱글 오리진/블렌드 로스팅 기록, 손실률 분석, 배치 번호 자동 생성
재고 FIFO 기반 재고 추적, 입출고 자동 반영, 재고 조정/복원
입고 OCR Gemini AI 명세서 자동 인식, 생두/로스팅 입고 문서 관리, PDF 뷰어
블렌드 레시피 레시피 관리, 블렌드 원가 자동 계산
분석 더문 분석(거래처/재고/원가), 글로벌 원두 시세(GSC/ALMACIELO), 가격 비교
로스팅 시뮬레이터 가상 로스팅 프로파일, 곡선 편집, 점수 평가, 로그 저장
디자인 설정 10+ 테마, 보드 스타일 커스터마이징, 프리셋, 히어로 이미지, 로고
상담 채팅 Telegram 봇 연동, 실시간 WebSocket, 파일 전송, 읽음/안읽음
글로벌 검색 FTS5 전문 검색, 초성 검색(es-hangul), 8개 테이블 통합
데스크톱 Electron 앱, 자동 업데이트, 커스텀 타이틀바, 브라우저 접속 차단

아키텍처

┌─────────────────────────────────────────────┐
│          Electron Desktop Shell             │
│  ┌───────────────────────────────────────┐  │
│  │   Next.js Frontend (Standalone)       │  │
│  │   React 18 + TypeScript + Tailwind    │  │
│  │   shadcn/ui + Virtuoso + Recharts     │  │
│  └──────────────┬────────────────────────┘  │
│                 │ REST + WebSocket           │
│  ┌──────────────▼────────────────────────┐  │
│  │   FastAPI Backend (PyInstaller)       │  │
│  │   SQLAlchemy + Pydantic + Gemini AI   │  │
│  │   Telegram Bot (aiogram)              │  │
│  └──────────────┬────────────────────────┘  │
│                 │                            │
│  ┌──────────────▼────────────────────────┐  │
│  │   SQLite + FTS5 (8 tables, trigram)   │  │
│  └───────────────────────────────────────┘  │
└─────────────────────────────────────────────┘

포트 구성

환경 Frontend Backend
개발 (WSL) 3500 8100
데스크톱 (Electron) 15678 18765

프로젝트 구조

Themoon/
├── .agent/                    # 에이전트 설정 및 문서
│   ├── AGENTS.md              # 마스터 인덱스
│   ├── CRITICAL_RULES.md      # 핵심 규칙
│   └── docs/                  # 기술 문서, 컨벤션, 리서치
│
├── backend/                   # FastAPI 백엔드
│   └── app/
│       ├── api/v1/endpoints/  # REST API 엔드포인트
│       ├── models/            # SQLAlchemy 모델
│       ├── repositories/      # Repository 패턴
│       ├── services/          # 비즈니스 로직
│       ├── main.py            # 앱 엔트리 (개발)
│       └── main_desktop.py    # 앱 엔트리 (데스크톱)
│
├── frontend/                  # Next.js 프론트엔드
│   ├── app/                   # App Router 페이지
│   │   ├── analytics/         # 분석 (더문/글로벌)
│   │   ├── beans/             # 원두 관리
│   │   ├── blends/            # 블렌드 (레시피/로스팅)
│   │   ├── inbound/           # 입고 (생두/로스팅 OCR)
│   │   ├── inventory/         # 재고 현황
│   │   ├── roasting/          # 로스팅 이력
│   │   └── search/            # 글로벌 검색
│   ├── components/            # React 컴포넌트
│   │   ├── board/             # Board V2 (통합 리스트)
│   │   ├── detail-view/       # 상세 뷰 (Compound)
│   │   ├── feedback-chat/     # 상담 채팅 (Telegram)
│   │   ├── layouts/           # AppLayout, Sidebar, TitleBar
│   │   └── providers/         # Context, Guard, Loading
│   ├── lib/                   # API 클라이언트, 유틸리티
│   └── types/                 # TypeScript 타입 정의
│
├── electron/                  # Electron 데스크톱 셸
│   ├── src/
│   │   ├── main.ts            # 메인 프로세스
│   │   ├── preload.ts         # IPC Bridge (contextBridge)
│   │   ├── process-manager.ts # Backend/Frontend 프로세스 관리
│   │   └── updater.ts         # 자동 업데이트 (GitHub Releases)
│   └── build-windows.ps1      # Windows 빌드 스크립트
│
├── dev.sh                     # 개발 서버 관리 (start/stop/restart)
├── .env                       # 환경 변수 (backend)
├── .env.local                 # 환경 변수 (frontend)
└── themoon.db                 # SQLite 데이터베이스

개발 환경

필수 요구사항

  • WSL2 (Ubuntu) — Windows CMD/PowerShell 실행 금지
  • Python 3.12+ — Backend (FastAPI + uvicorn)
  • Node.js 20+ — Frontend (Next.js 14)
  • SQLite — 기본 내장

실행 방법

# 1. 개발 서버 시작 (Backend + Frontend 동시 실행)
./dev.sh

# 2. 브라우저 접속
# Frontend: http://localhost:3500
# Backend:  http://localhost:8100

데스크톱 빌드

# PowerShell에서 실행 (WSL 소스를 자동 동기화)
.\electron\build-windows.ps1 -SyncWSL

기술 스택

영역 기술
Frontend Next.js 14 (App Router, Standalone), React 18, TypeScript, Tailwind CSS, shadcn/ui
Backend FastAPI, SQLAlchemy 2.0, Pydantic V2, uvicorn
Database SQLite + FTS5 (전문 검색, 트라이그램)
Desktop Electron 35, electron-updater (GitHub Releases)
AI/OCR Google Gemini (명세서 OCR, 분석)
Chat Telegram Bot API (aiogram), WebSocket, Telethon (MTProto)
Build PyInstaller (Backend), Next.js Standalone (Frontend), electron-builder (Installer)

라이선스

Private — The Moon Drip Bar


버전: v0.90.4 최종 업데이트: 2026-02-27

About

커피 원두 로스팅 관리툴

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors