Об этом проекте

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 стремится предоставить владельцам сайтов простой способ понимания вовлеченности читателей, не полагаясь на внешних поставщиков аналитики.