This is open source web analytics platform, tracks and reports website traffic.
- Support Measurement Protocol (so far partial)
- Collect client hits (page views, events, transactions)
- Processes the client-interaction data with the configuration data
- Provides access to all the processed and RAW data
- Custom definition with different scope (Hit | Session)
- Web SDK - webalytic.js
- GeoNetwork data parsing with maxmind
- Produce domain events to Nats Streaming (create your custom subscribers module for any goals, example anti-fraud detector)
- Microservices architecture, with shared protobuf contracts
- Dockerfiles and docker-compose deploy
The platform seeks to repeat processing logic described by Google Analytics, following articles should be helpful for understanding core terms:
Monorepo includes following packages:
- Dashboard, Vue.js SPA
- Api-gateway
- Configuration
- Log-collector
- Log-processing
- Geoip
- Data-storage with Cube.JS API
- Web-sdk
# Create network app
docker network create app
# Start database and infrastructure containers
# For correct work Geoip service
# you must copy GeoIP2-City.mmdb to ~/deploy/docker-compose/datasources/maxmind
docker-compose -f ~/deploy/docker-compose/datasources/docker-compose.yml up -d
# Start applications containers
docker-compose -f ~/deploy/docker-compose/docker-compose.yml up -d
# Vue dashboard on
http://127.0.0.1:80/
# Api-gateway on
http://127.0.0.1:80/api
You can find list of all env variables in sample env file
-
Base test coverage and CI/CD configs
-
Resources service, create resource and invariants for log-collector
-
Base analytics dashboard: Audience, sessions by device/by channel, visitors, bounce rate. Upgrade Cube.Js schema, more metrics and dimensions
-
Collect and provide base custom metrics and dimensions
-
Scope and settings for custom metrics and dimensions
-
New SDK
-
Conversions service:
- Goals, conversions and funnels
- Grouping channel
- Attribution (Last Click, Time Decay, Liner, Position Based, First Click)
-
Identity and access management service
-
Custom widget builder
-
Kubernetes deploy with Helm