Об этом проекте
Flarelytics — это платформа веб-аналитики с открытым исходным кодом, разработанная для отслеживания времени, которое посетители проводят на отдельных страницах. Она была создана для решения проблем конфиденциальности и отсутствия метрик «время на странице» в большинстве существующих сервисов аналитики.
**Ключевые особенности**
- Скрипт JavaScript на стороне браузера, генерирующий уникальный UUID для каждого посетителя и отправляющий события *открытия* и *закрытия* на сервер.
- Бэкенд написан на TypeScript и работает на Cloudflare Workers, предоставляя минимальный HTTP API для приема событий и запросов к панели управления.
- Хранение событий в базе данных; проект изначально использовал MongoDB и переходит на PlanetScale/MySQL для лучшей масштабируемости.
- Поддержка одного домена на развертывание (планируется поддержка нескольких доменов).
- Приоритет конфиденциальности: без стороннего отслеживания, полностью самозапускаемый и соответствующий нормам ЕС.
**Архитектура**
1. **Скрипт браузера** (`/analytics`): Встраивается на целевой сайт, записывает события загрузки/выгрузки страницы и отправляет их в Worker.
2. **Cloudflare Worker** (`/src`): Получает события, записывает их в базу данных и агрегирует данные для панели управления.
3. **База данных**: Сейчас MongoDB, переход на PlanetScale (совместимая с MySQL) для реляционных запросов и надежности.
**Статус разработки**
- Активная разработка под Google Developer Student Club в Будапештском университете технологий и экономики.
- Ещё не готов к продакшену; репозиторий содержит руководства по внесению вклада и настройке среды разработки.
**Начало работы**
- Создайте бесплатные аккаунты на Cloudflare и PlanetScale.
- Установите Node.js (рекомендуется через nvm) и выполните `npm install`.
- Настройте секреты в `.dev.vars` для локального тестирования или через интерфейс Cloudflare для продакшена.
- Запустите локальный сервер Workers командой `npm run dev`.
**Внесение изменений**
- Выберите открытую задачу из репозитория GitHub или доски проекта.
- Сделайте форк репозитория, следуйте инструкции по настройке среды разработки и отправьте pull request по схеме GitHub flow.
**Лицензия**
- GPLv3.
Flarelytics стремится предоставить владельцам сайтов простой способ понимания вовлеченности читателей, не полагаясь на внешних поставщиков аналитики.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.