프로젝트 소개

## 개요 Data Relish는 PHP와 MySQL 백엔드로 작성된 오픈 소스 자체 호스팅 웹 분석 시스템입니다. 단순함에 중점을 두어 단일 함수 호출로 이벤트를 기록하며, Chart.js를 사용하여 일일 순 방문자 수, 이벤트 분석 및 상위 국가를 시각화합니다. 이 프로젝트는 타사 서비스에 의존하지 않고 기본적인 트래픽 통찰력이 필요한 중소 규모 웹사이트에 적합합니다. ## 주요 기능 - **이벤트 로깅** – 한 줄의 PHP 호출 `log_event("type", "target")`으로 방문 및 사용자 지정 이벤트를 기록합니다. - **IP 보강** – IP 주소를 국가 코드로 변환하는 병렬 루틴을 통해 지리적 보고 기능을 제공합니다. - **대시보드** – 일일 순 방문자 수, 이벤트 분포, 상위 국가를 대화형 차트로 보여줍니다. - **자체 호스팅** – MySQL이 포함된 PHP 호환 서버에서 실행되며 외부 SaaS 의존성이 없습니다. - **비밀번호 보호 UI** – 간단한 비밀번호 확인(`?pass=...`)을 통해 대시보드를 보호합니다. ## 설치 및 설정 1. **데이터베이스** – `data-relish.sql`을 MySQL로 가져와 필요한 테이블을 생성합니다. 2. **구성** – `log_event.php` 및 `dashboard.php` 상단의 데이터베이스 자격 증명을 수정합니다. 3. **계측** – 추적하려는 페이지에 `log_event.php`를 포함하고 `log_event("event type", "event target");`을 호출합니다. 4. **대시보드 액세스** – 브라우저에서 `dashboard.php?pass=changeme`를 열고 파일 내 기본 비밀번호를 변경합니다. 5. **국가 데이터** – 대시보드의 '국가 데이터 보강(Enrich Country Data)' 버튼을 클릭하거나 `update_countries.php`를 수동으로 실행하여 지리적 정보를 채웁니다. ## 프로젝트 구조 - `data-relish.sql` – `events` 테이블을 위한 MySQL 스키마. - `log_event.php` – DB 연결 및 `log_event` 함수 포함. - `dashboard.php` – 분석 UI 생성 및 Chart.js를 통한 차트 렌더링. - `update_countries.php` – 저장된 IP를 국가 코드로 변환하는 스크립트. ## 사용 예시 ```php include('log_event.php'); log_event('page_view', '/home'); ``` 위 스니펫을 페이지에 배포하면 대시보드의 '순 방문자 수' 및 '상위 국가' 항목에 방문 기록이 나타납니다. ## 라이브 데모 작성자는 개인 사이트에서 Data Relish를 운영 중이며, 대시보드는 다음 주소에서 확인할 수 있습니다: https://zerovst.com/admin/data/stats.php?pass=jabberwocky!20o2 ## 개발 상태 이 프로젝트는 현재 활발히 개발 중입니다. 사용자는 비중요 환경에서 테스트하고 풀 리퀘스트를 통해 개선 사항을 기여하는 것을 권장합니다. ## 라이선스 Data Relish는 MIT 라이선스 하에 배포되어 자유로운 사용, 수정 및 배포가 가능합니다. --- *Data Relish는 클라우드 분석 서비스를 대체할 수 있는 직관적이고 개인정보 보호 친화적인 대안을 제공하며, 개발자가 트래픽 데이터를 완전히 제어할 수 있도록 합니다.*