This little gem of a tool sets up a local server that acts as a collector forSnowplow
Analytics events. By default, it listens on port 3000
, but this can be
configured.
Simply run:
# Install dependencies and compile styles
yarn
# Start NepSnowplow
yarn start
Point a device or webpage to your local machine to collect their Snowplow events. Your IP address and listening port is listed at the bottom of the app. Events should appear within seconds.
For each event, NepSnowplow will list the event details and all associated contexts. For more information about Snowplow events, check out the docs on the Snowplow Canonical Event Model.
To validate events using Snowplow Micro, please make sure to add the required configuration files
(micro.conf
and iglu.json
) in the snowplow_micro_config/
folder. For more info about the
Snowplow Micro configuration, see:
https://github.com/snowplow-incubator/snowplow-micro#configuring-micro
Options can be set in settings.json
, the defaults are:
{
"listeningPort": 3000 // port NepSnowplow listens to
}
Depending on your operating system, the settings can be found in the following location:
- Windows:
- Installed version (exe):
C:\Users\<username>\AppData\Local\Programs\nepsnowplow\Resources
. - Portable version (zip): where you've extracted the
*.zip
file.
- Installed version (exe):
- OS X:
~/Applications/NepSnowplow/Contents/Resources
. - Linux: where you've extracted the
*.tar.gz
file.
If no events arrive, check if NepSnowplow is allowed by Windows Firewall
During development, one can compile new styles in one of the SCSS files using:
yarn compile
Alternatively, each change can be automatically compiled using:
yarn watch
This electron app is packaged and published through electron-builder
.
To test a package locally for distribution, use:
yarn package
First, make sure the version in package.json
is lower than the latest published version.
Second, place dev-app-update.yml
in the root folder, containing:
owner: PicnicSupermarket
repo: nepsnowplow
provider: github
Finally, to make sure it works in production, you can execute yarn build
and run
dist\<platform>-unpacked\NepSnowplow.exe
. Don't forget to set the version back to the right value
before pushing any commits.
There are a few features that are on the roadmap to be developed so as to increase further usability:
- Multi-device support: create the ability to show events for a specific device.
- Tree-based event viewer: introduce the abiltiy to switch to a hierarchical tree based on event name.
Contributions are welcome! Feel free to file an issue or open a pull request.
When submitting changes, please make every effort to follow existing conventions and style in order to keep the code as readable as possible. New code must be covered by tests. As a rule of thumb, overall test coverage should not decrease. (There are exceptions to this rule, e.g. when more code is deleted than added.)