这个项目能做什么
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 致力于为网站所有者提供一种简单、尊重隐私的方式,帮助其了解读者参与度,无需依赖外部分析提供商。
评论
0 评分人数达到10人后显示
登录后参与讨论。