这个项目能做什么

Flarelytics 是一款开源网页分析平台,旨在追踪访客在各独立页面停留的时间。其创建初衷是解决隐私问题以及现有许多分析服务缺乏"页面停留时间"指标的问题。 核心功能 - 浏览器端 JavaScript 代码片段为每位访客生成唯一 UUID,并向后端发送页面打开和关闭事件。 - 后端使用 TypeScript 编写,运行于 Cloudflare Workers,提供精简的 HTTP API 用于事件收集和仪表板查询。 - 事件存储于数据库中;项目最初使用 MongoDB,正迁移至 PlanetScale/MySQL 以提升可扩展性。 - 支持单个域名(计划未来支持多域名)。 - 隐私优先:无第三方追踪,完全自托管,符合欧盟法规。 架构 1. 浏览器脚本(`/analytics`):嵌入目标网站,记录页面加载/卸载事件并发送至 Worker。 2. Cloudflare Worker(`/src`):接收事件,写入数据库,并聚合数据供仪表板展示。 3. 数据库:目前使用 MongoDB,正在迁移至 PlanetScale(兼容 MySQL)以支持关系查询和增强可靠性。 开发状态 - 在布达佩斯技术与经济大学Google开发者学生俱乐部下进行活跃开发。 - 尚未达到生产就绪状态;仓库中包含贡献指南和开发环境配置说明。 快速开始 - 注册免费的 Cloudflare 和 PlanetScale 账户。 - 安装 Node.js(建议使用 nvm),运行 `npm install`。 - 在 `.dev.vars` 中配置密钥以进行本地测试,或通过 Cloudflare UI 配置生产环境密钥。 - 运行 `npm run dev` 启动本地 Workers 服务器。 参与贡献 - 从 GitHub 仓库或项目看板中选择未解决的议题。 - Fork 仓库,遵循开发环境配置指南,并通过 GitHub 流程提交拉取请求。 许可证 - GPLv3。 Flarelytics 致力于为网站所有者提供一种简单、尊重隐私的方式,帮助其了解读者参与度,无需依赖外部分析提供商。