{"id":15161414,"url":"https://github.com/vinceanalytics/vince","last_synced_at":"2025-04-06T17:13:53.528Z","repository":{"id":184056930,"uuid":"648607331","full_name":"vinceanalytics/vince","owner":"vinceanalytics","description":"Cloud-Native web analytics for everyone","archived":false,"fork":false,"pushed_at":"2024-10-28T23:38:32.000Z","size":461128,"stargazers_count":92,"open_issues_count":5,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-30T00:16:16.359Z","etag":null,"topics":["cloud-native","self-hosted","vince","web-analytics"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinceanalytics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2023-06-02T11:17:54.000Z","updated_at":"2024-10-28T23:38:36.000Z","dependencies_parsed_at":"2023-12-20T16:13:48.614Z","dependency_job_id":"413e1d8f-f7f3-4bb7-80f7-46ce7a55cfbf","html_url":"https://github.com/vinceanalytics/vince","commit_stats":{"total_commits":3324,"total_committers":3,"mean_commits":1108.0,"dds":0.0006016847172082285,"last_synced_commit":"88a5b570809e9dd7e636c5d393e01e461e79e972"},"previous_names":["vinceanalytics/vince"],"tags_count":93,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceanalytics%2Fvince","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceanalytics%2Fvince/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceanalytics%2Fvince/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinceanalytics%2Fvince/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinceanalytics","download_url":"https://codeload.github.com/vinceanalytics/vince/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247517915,"owners_count":20951719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cloud-native","self-hosted","vince","web-analytics"],"created_at":"2024-09-27T00:20:17.393Z","updated_at":"2025-04-06T17:13:48.517Z","avatar_url":"https://github.com/vinceanalytics.png","language":"Go","readme":"\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./assets/logo.svg\" alt=\"Vince Logo\" /\u003e\n\u003c/p\u003e\n\n\n\u003e **Warning**\n\u003e This is still under early development its not in a usable state yet\n\n# vince\n\nThe Cloud Native Web Analytics Platform. Built on Apache Arrow and Apache Parquet.\n\n\u003e **note**\n\u003e Vince does not support realtime queries. Events are processed daily at configured time of the day.\n\u003e There is a possibility you will have to wait 24h to be able to get actionable insight from your site\n\u003e when you configure it for the first time.\n\u003e\n\u003e However , if you wish to trigger saving manually (This is not recommended ,\n\u003e do this only when testing vince not in production) we provide `force_save`\n\u003e procedure which you can call any time.\n\n# Features\n\n- :white_check_mark: SQL for querying stats (All MySQL compatible clients are supported)\n- :white_check_mark: Time on site tracking\n- :white_check_mark: Conversion tracking \n- :white_check_mark: Multiple site management\n- :white_check_mark: Campaign Management \n- :x: Report Generation\n- :white_check_mark: Goal Tracking \n- :white_check_mark: Event Tracking \n- :x: Cloud Native (seamless k8s integration)\n- :white_check_mark: API for sites management\n- :white_check_mark: No runtime dependency (Static binary with everything you need)\n\n## Usage\n\nThroughout this guide we will be using `http://localhost:8080` to refer to the url where you self hosted vince instance. We expect the url to change to the internet accessible url where you self hosted your vince instance.`example.com` is used to represent your website that you wish to track.\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eInstall\u003c/summary\u003e\n\nvince provides a single binary `vince` that provides both the server and client\nfunctionality. For now only `Mac OS` and `Linux` are supported. \n\u003c/details\u003e\n\n\n```bash\ncurl -fsSL https://github.com/vinceanalytics/vince/releases/latest/download/install.sh | bash\n```\n\n```bash\nbrew install vinceanalytics/tap/vince\n```\n\n```bash\ndocker pull ghcr.io/vinceanalytics/vince\n```\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eInitialize a project\u003c/summary\u003e\n\n`vince init` sets up a directory for serving vince instance. This includes creating directories for databases and generating of configurations. You can later edit generated configuration file to reflect what you need.\n\n```bash\nNAME:\n   vince init - Initializes a vince project\n\nUSAGE:\n   vince init [command [command options]] [arguments...]\n\nOPTIONS:\n   -i                Shows interactive prompt for username and password (default: false) || --no-i  Shows interactive prompt for username and password (default: false)\n   --username value  Name of the root user (default: \"root\") [$VINCE_ROOT_USER]\n   --password value  password of the root user (default: \"vince\") [$VINCE_ROOT_PASSWORD]\n   --help, -h        show help (default: false)\n```\n\nVince instances are password protected. Access to resources is provided via JWT tokens served using the builtin oauth2 server.\n\n\u003c/details\u003e\n\n```bash\nVINCE_ROOT_PASSWORD=xxxxx vince init example\n```\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eStart  server\u003c/summary\u003e\n\nVince binds to two ports, one for vince api and another for mysql api.\n\n```bash\nNAME:\n   vince serve - Serves web ui console and expose /api/events that collects web analytics\n\nUSAGE:\n   vince serve [command [command options]] [arguments...]\n\nOPTIONS:\n   core\n\n   --db-path value        path to main database (default: \"db\") [$VINCE_DB_PATH]\n   --enable-profile       Expose /debug/pprof endpoint (default: false) [$VINCE_ENABLE_PROFILE]\n   --env value            Deployment environment (default: \"dev\") [$VINCE_ENV]\n   --listen value         http address to listen to (default: \":8080\") [$VINCE_LISTEN]\n   --listen-mysql value   serve mysql clients on this address (default: \":3306\") [$VINCE_MYSQL_LISTEN]\n   --log-level value      log level, values are (trace,debug,info,warn,error,fatal,panic) (default: \"debug\") [$VINCE_LOG_LEVEL]\n   --tls-cert-file value  path to tls certificate [$VINCE_TLS_CERT_FILE]\n   --tls-key-file value   path to tls key [$VINCE_TLS_KEY_FILE]\n\n```\n\n\u003c/details\u003e\n\n```bash\nvince serve example\n```\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eLogin\u003c/summary\u003e\n\n```bash\nVINCE_ROOT_PASSWORD=xxxxx vince login http://localhost:8080\n```\n\n\u003c/details\u003e\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eConnect with mysql\u003c/summary\u003e\n\n```bash\nLIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=y mysql --host 127.0.0.1 --port 3306 -uroot -p$VINCE_ACCESS_TOKEN\nmysql: [Warning] Using a password on the command line interface can be insecure.\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 2\nServer version: 5.7.9-Vitess Dolt\n\nCopyright (c) 2000, 2023, Oracle and/or its affiliates.\n\nOracle is a registered trademark of Oracle Corporation and/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nmysql\u003e \n```\n\nYou can obtain `VINCE_ACCESS_TOKEN` via vince client\n\n```bash\nvince login --token\n```\n\n\u003c/details\u003e\n\n\u003cdetails markdown=1\u003e\n\u003csummary\u003eAdd site\u003c/summary\u003e\n\nYou can add a website to allow collection of web analytics using mysql api with\nthe procedure `add_site` which accepts the domain name of the site as the first argument and optionally site description as a second argument.\n\nSite domain, is the part of the website url without `http://` or `http://` or\n`wwww`. Example domain for `https://www.vinceanalytics.com` is `vinceanalytics.com`\n\nThere is no limit on the number of sites that can be added. Also you can setup and sent events for sites that have not been added (the events will just be dropped).\n\nPlease see `Embedding js tracker` section on how to setup tracker script on your website to start collecting and send web analytics to your vince instance.\n\u003c/details\u003e\n\n```shell\nmysql\u003e call add_site('example.com');\n+--------+\n| status |\n+--------+\n| ok     |\n+--------+\n1 row in set (0.00 sec)\n```\n\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eEmbedding js tracker\u003c/summary\u003e\nVince instance hosts and serve the javascript tracker that you can embed in\nyour website.\n\nUpdate `html` of your website to include the script in the `head` tag of your\n`html`\n\u003c/details\u003e\n\n```html\n\u003cscript defer data-domain=\"example.com\" src=\"http://localhost:8080/js/vince.js\"\u003e\u003c/script\u003e\n```\n\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eCheck if the site is configured\u003c/summary\u003e\n\nProcedures `seen_first_event` shows if the vince is processing events from the\nsite.\n\n- `0`: when not configured\n- `1`: when configured\n\n\u003c/details\u003e\n\n```bash\nmysql\u003e call seen_first_event('example.com');\n+------------------+\n| seen_first_event |\n+------------------+\n|                1 |\n+------------------+\n1 row in set (0.00 sec)\n```\n\n","funding_links":[],"categories":["Go","Analytics"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinceanalytics%2Fvince","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinceanalytics%2Fvince","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinceanalytics%2Fvince/lists"}