{"id":13588805,"url":"https://github.com/keen/explorer","last_synced_at":"2025-05-15T21:06:15.441Z","repository":{"id":33624638,"uuid":"37276906","full_name":"keen/explorer","owner":"keen","description":"Data Explorer by Keen - point-and-click interface for analyzing and visualizing event data.","archived":false,"fork":false,"pushed_at":"2023-05-22T12:17:04.000Z","size":148254,"stargazers_count":749,"open_issues_count":26,"forks_count":61,"subscribers_count":46,"default_branch":"develop","last_synced_at":"2025-05-10T05:37:07.383Z","etag":null,"topics":["analysis","analytics","analytics-api","charts","data-exploration","data-visualization","dataviz","keen-io","native-analytics","web-analytics"],"latest_commit_sha":null,"homepage":"http://keen.io/","language":"TypeScript","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/keen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2015-06-11T17:56:40.000Z","updated_at":"2025-02-21T23:25:35.000Z","dependencies_parsed_at":"2023-01-15T01:45:16.698Z","dependency_job_id":"e1959d2c-66c0-4b9c-81ef-b2a2652451fc","html_url":"https://github.com/keen/explorer","commit_stats":{"total_commits":1881,"total_committers":33,"mean_commits":57.0,"dds":0.7687400318979266,"last_synced_commit":"566105b6c163e249125e7f16ace8bc61b9d0740d"},"previous_names":[],"tags_count":289,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keen%2Fexplorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keen%2Fexplorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keen%2Fexplorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keen%2Fexplorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keen","download_url":"https://codeload.github.com/keen/explorer/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254422762,"owners_count":22068678,"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":["analysis","analytics","analytics-api","charts","data-exploration","data-visualization","dataviz","keen-io","native-analytics","web-analytics"],"created_at":"2024-08-01T15:06:56.854Z","updated_at":"2025-05-15T21:06:15.414Z","avatar_url":"https://github.com/keen.png","language":"TypeScript","readme":"# Data Explorer\n\n[![written in typescript](https://img.shields.io/badge/written%20in-typescript-blue.svg)](https://www.typescriptlang.org) [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-yellow.svg)](https://github.com/prettier/prettier) [![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://facebook.github.io/jest/) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) [![yarn](https://img.shields.io/badge/maintained%20with-yarn-cc00ff.svg)](https://yarnpkg.com/en/) [![codecov](https://codecov.io/gh/keen/explorer/branch/master/graph/badge.svg?token=FOUVoqkgGc)](https://codecov.io/gh/keen/explorer)\n\nThe Data Explorer is an open source point-and-click interface for querying and visualizing your event data. It's maintained by the team at [Keen IO](https://keen.io/).\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/7753369/91156939-fc5aa980-e6c4-11ea-913b-d2984d5a843e.png\"\u003e\n\n### Install\n\n```ssh\nnpm install keen-explorer --save\n```\n\nor\n\n```ssh\nyarn add keen-explorer\n```\n\n### Visualizations Theme\n\nThe Data Explorer `@keen.io/dataviz` theme could be overridden during initialization of application instance.\n\n```typescript\nconst explorer = new KeenExplorer({\n  container: '#root',\n  modalContainer: '#modal-root',\n  dataviz: {\n    theme: {\n      colors: ['red', 'blue', 'yellow']\n    }\n  }\n });\n```\n\n### Settings\n\nThe Data Explorer components configuration could be specified during creation of application instance.\n\n##### Set default timezone for queries\n\nSpecify default `timezone` used for new created queries. Provided argument must be compatible with **IANA** [Time Zone Database](https://www.iana.org/time-zones) standard.\n\n```typescript\nconst explorer = new KeenExplorer({\n  defaultTimezoneForQuery: 'Africa/Nairobi',\n});\n```\n\n##### Disable timezone selection\n\nDisables possibility to change `timezone` from user interface.\n\n```typescript\nconst explorer = new KeenExplorer({\n  disableTimezoneSelection: true,\n});\n```\n\n##### Disable filter suggestions\n\nDisable query creator filter suggestions\n\n```typescript\nconst explorer = new KeenExplorer({\n  disableQueryFilterSuggestions: true,\n});\n```\n\n### Translations\n\nThe default translations files for application are hosted on `jsdelivr` CDN. You can easily replace the translations by overriding the `loadPath` for files.\n\n```typescript\nconst explorer = new KeenExplorer({\n  container: '#root',\n  modalContainer: '#modal-root',\n  translations: {\n    backend: {\n      loadPath: 'https://cdn.jsdelivr.net/npm/@keen.io/explorer@$VERSION/dist/locales/{{lng}}/{{ns}}.json'\n    }\n  }\n});\n```\n\n### Confirm extraction limit\n\nThe `default` threshold for rendering confirmation modal is `100` properties in event collection schema used for extraction.\nYou can easily change it by providing additional argument to constructor.\n\n```typescript\nconst explorer = new KeenExplorer({\n  confirmExtractionLimit: 50\n});\n```\n\n### PubSub interface\n\nThe Data Explorer could be controlled dynamically by using global `@keen.io/pubsub` instance. By default after component is mounted in browser environment the `pubsub` instance should be accessible in `global` object.\n\n#### Pubsub Events\n\n| Event                   | Meta                 | Description                                               |\n| ----------------------- | -------------------- | --------------------------------------------------------- |\n| `@explorer/new-query`   | n/a                  | Changes view to `editor` mode with default query settings |\n| `@explorer/change-view` | { view: `ViewMode` } | Changes Explorer view mode                                |\n\n#### Examples\n\n##### Creating new query\n\n```typescript\nwindow.KeenPubSub.publish('@explorer/new-query');\n```\n\n##### Change  view\n\n```typescript\ntype ViewMode = 'browser' | 'editor';\n\nwindow.KeenPubSub.publish('@explorer/change-view', { view: 'browser' });\n```\n### Project Setup\n\n##### prerequisites\n\n1.  [yarn](https://classic.yarnpkg.com/) - package manager\n2.  `node` - make sure it's minimum **10.x.x**\n\n##### steps\n\n1.  checkout repository\n2.  run `yarn` - to install project dependencies\n3.  create a `config.js` file (use `config.template.js`) and provide `Keen` credentials\n4.  run application in development mode `yarn start`\n\n### npm scripts\n\nList of useful commands that could be used by developers. Execution in the command-line interface should be prefixed with `yarn` package manager.\n\n| Command    | Description                                          |\n| ---------- | ---------------------------------------------------- |\n| `lint`     | run linter against current application codebase.     |\n| `test`     | run unit tests.                                      |\n| `build`    | builds application distribution.                     |\n| `prettier` | run code formatter process against current codebase. |\n\n### commit\n\nThis project uses [Conventional Commits](https://www.conventionalcommits.org) to enforce common commit standards.\n\n| Command      | Description                        |\n| ------------ | ---------------------------------- |\n| `npx git-cz` | run commit command line interface. |\n\n### deployments\n\nThe all commits pushed into `master` branch will be picked by CircleCI workflow that perform npm packages version and publish.\n\n##### test environments\n\nThe all commits pushed into `develop` branch will be picked by CircleCI workflow that allows to deploy artifiact on specific test environment.\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeen%2Fexplorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeen%2Fexplorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeen%2Fexplorer/lists"}