/vulcan

Web analytics.

Primary LanguageGoMIT LicenseMIT

vulcan

🖖 Web analytics. 🖖

motivation

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.

license

MIT - See LICENSE.md

development

To run locally and develop, see development.md

contributing

Please review standards before submitting issues and pull requests. Thank you in advance for feedback, criticism, and feature requests.