{"id":27247187,"url":"https://github.com/mralanlee/wm_analytics","last_synced_at":"2026-04-30T10:08:19.074Z","repository":{"id":95017714,"uuid":"298385702","full_name":"mralanlee/wm_analytics","owner":"mralanlee","description":"A reporting server to collect and visualize web monetization information about a page.","archived":false,"fork":false,"pushed_at":"2020-10-08T23:47:49.000Z","size":58,"stargazers_count":3,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T21:44:34.367Z","etag":null,"topics":["grafana","hacktoberfest","reporting","webmonetization"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mralanlee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-24T20:17:11.000Z","updated_at":"2020-10-08T23:47:49.000Z","dependencies_parsed_at":"2023-06-11T16:15:43.865Z","dependency_job_id":null,"html_url":"https://github.com/mralanlee/wm_analytics","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mralanlee/wm_analytics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mralanlee%2Fwm_analytics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mralanlee%2Fwm_analytics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mralanlee%2Fwm_analytics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mralanlee%2Fwm_analytics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mralanlee","download_url":"https://codeload.github.com/mralanlee/wm_analytics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mralanlee%2Fwm_analytics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32460914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grafana","hacktoberfest","reporting","webmonetization"],"created_at":"2025-04-10T22:48:58.944Z","updated_at":"2026-04-30T10:08:19.040Z","avatar_url":"https://github.com/mralanlee.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Monetization Analytics\n\nA simple metrics collection of [Web Monetization](https://webmonetization.org/) events in relation to tracking page revenue.\n\nThe goal of this project is capture [web monetization progress events](https://webmonetization.org/docs/api#monetizationprogress) and store them to review at what pages generate the most revenue.\nCurrently, the idea would be to store these metrics in Postgres and to use Grafana to visualize the data. Ideally, in the future, I'd like to be able to have a custom dashboard, which would query the API for the data, and to utilize Redis PubSub to stream the data in real time.\n\n## What is Web Monetization?\n\u003e Web Monetization (WM) is a proposed API standard that allows websites to request a stream of very small payments (e.g. fractions of a cent) from a user.\n\nHere is the web monetization [explainer](https://webmonetization.org/docs/explainer).\n\n## Goal of this project\nThe goal is to showcase the _value_ of web monetization and to attribute or correlate performance of monetization to content. With this in mind, for future potential features or pull request submissions, we will always respect the user's privacy and prohibit the collection of user data.\n\n## How This Works (Currently)\nA client, the browser, will open a web sockets connection with the metrics server and stream the incoming `event.details` objects to the server. This is not the most ideal strategy, because it would require a sticky session to a particular service.\nOther considerations that I've had for this was to use the following:\n- Redis PubSub\n- RabbitMQ\n- gRPC (unfortunately, would also sticky session)\n\nIf there is a better approach, please submit a proposal via an issue.\n\n## Contributing\n\n**Dependencies**:\n- Docker\n- Postgres (or available in docker-compose)\n- Grafana (or available in docker-compose)\n- Go (this project was built on 1.15)\n\n1. Fork the project\n2. Install dependencies:\n```bash\ngo mod download\ngo mod verify\n```\n3. To run the project dependencies:\n```bash\ndocker-compose up\n```\n4. To run the mock client to feed/fake monetization data:\n```\ndocker-compose -p wm_analytics -f docker-compose.yml -f docker-compose.dev.yml up --build -d\n```\n5. Submit PR.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmralanlee%2Fwm_analytics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmralanlee%2Fwm_analytics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmralanlee%2Fwm_analytics/lists"}