🖖 Web analytics. 🖖
An explorative way of learning how web analytics works at scale.
-
Vulcan aims to:
- Be fast.
- Handle many requests.
- Have strong opinions.
- Be a compelling choice for individuals, organizations and companies.
- Be self-hosted, open source, easily extended.
- Follow best practices.
-
Area of focus:
- Provide a beacon API service for collecting data.
- Store transformed data as collected information.
- Simple (not feature rich) analytics reporting out of the box.
-
Strategy:
- To scale, use sharding around collection endpoints where possible, so;
- Ambassador can be used as a front between APIs (e.g. https://vulcantracker.biz/ and https://report.vulcantracker.biz/);
- Separation between services which isolate: a. HTTP GET/web beacon API requests and log data for queing analytic data, b. workers which transform, validate and store data, c. retrieval and presentation of composit analytics
Further rationale provided.
To see how Vulcan works, see the architecture. To see what services Vulcan provides, see the services.
MIT - See LICENSE.md
To run locally and develop, see development.md
Please review standards before submitting issues and pull requests. Thank you in advance for feedback, criticism, and feature requests.