Commit Graph

2 Commits

Author SHA1 Message Date
PharmQ Admin
36a4dca165 🚀 Pharmq.kr Live Production Setup Complete
 Headscale + farmq-admin 라이브 서버 구축 완료
- Docker Headscale 서버 설정 (포트 8070)
- farmq-admin 웹 GUI 연동 완료 (포트 5001)
- head.pharmq.kr 도메인 연결
- 1년 유효 재사용 가능 preauth key 생성
- 클라이언트 자동 등록 스크립트 완성

🔧 farmq-admin 설정:
- Headscale CLI API 래퍼 구현
- 실시간 노드/사용자 관리 GUI
- 데이터베이스 경로 수정 (/srv/headscale-tailscale-replacement/data/)
- 안전한 JSON 파싱 및 에러 처리 개선

📋 클라이언트 등록:
- register-client-pharmq-live.sh 스크립트
- head.pharmq.kr 도메인 사용
- 자동 Tailscale 설치 및 등록
- 테스트 완료 (100.64.0.1 IP 할당됨)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 11:17:10 +00:00
ca61a89739 🏥 Add complete FARMQ Admin Flask application
## Features
- 한국어 Flask 관리 인터페이스 with Bootstrap 5
- Headscale과 분리된 독립 데이터베이스 구조
- 약국 관리 시스템 (pharmacy management)
- 머신 모니터링 및 상태 관리
- 실시간 대시보드 with 통계 및 알림
- Headscale 사용자명과 약국명 분리 관리

## Database Architecture
- 별도 FARMQ SQLite DB (farmq.sqlite)
- Headscale DB와 외래키 충돌 방지
- 느슨한 결합 설계 (ID 참조만 사용)

## UI Components
- 반응형 대시보드 with 실시간 통계
- 약국별 머신 상태 모니터링
- 한국어 지역화 및 사용자 친화적 인터페이스
- 머신 온라인/오프라인 상태 표시 (24시간 타임아웃)

## API Endpoints
- `/api/sync/machines` - Headscale 머신 동기화
- `/api/sync/users` - Headscale 사용자 동기화
- `/api/pharmacy/<id>/update` - 약국 정보 업데이트
- 대시보드 통계 및 알림 API

## Problem Resolution
- Fixed foreign key conflicts preventing Windows client connections
- Resolved machine online status detection with proper timeout handling
- Separated technical Headscale usernames from business pharmacy names

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-09 17:44:56 +09:00