프로젝트 소개
## 개요
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는 클라우드 분석 서비스를 대체할 수 있는 직관적이고 개인정보 보호 친화적인 대안을 제공하며, 개발자가 트래픽 데이터를 완전히 제어할 수 있도록 합니다.*
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.