npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

reportr

v3.5.1

Published

Your life personal dashboard.

Readme

Reportr

"Your life's personal dashboard."

Deploy

Reportr is a complete application which works like a dashboard for tracking events in your life (using a very simple API). With a simple interface, it helps you track and display your online activity or your real-life activity (with hardware trackers or applications like Runkeeper), some trackers are available on this organization.

The project is entirely open source and you can host your own Reportr instance on your own server or Heroku.

Screen Preview

Start your instance

Reportr is really easy to run locally or on heroku-compatible services.

$ git clone https://github.com/Reportr/dashboard.git
$ npm install .

To run it locally, you should use foreman (configuration can be stored in a .env file):

$ foreman start

To deploy it on Heroku:

$ heroku config:set MONGODB_URL=mongodb://...
$ heroku config:set AUTH_USERNAME=...
$ heroku config:set AUTH_PASSWORD=...
$ git push heroku master

API and Events

Reportr uses an HTTP REST API to track events. Datas are always JSON encoded.

| Endpoint | HTTP Method | Description | Arguments | | -------- | ----------- | ----------- | --------- | | /api/infos | GET | Get informations about this instance | | | /api/types | GET | Return all event types | | | /api/events | POST | Post a new event | <string>type, <object>properties | | /api/events | GET | List all events | <string>type, <int>start(0), <int>limit | | /api/stats/categories | GET | Get categorized events stats | <string>type,<string>field | | /api/stats/time | GET | Get time stats | <string>type,<string>fields, <string>interval, <string>func | | /api/reports | POST | Create a new report | <string>title | | /api/reports | GET | List all reports | | | /api/report/:id | PUT | Update a report | <string>title, <array>visualizations | | /api/report/:id | DELETE | Remove a report | | | /api/alerts | GET | List all alerts | | | /api/alerts | POST | Create an alert | <string>type, <string>eventName, <string>condition, <string>title |

Special Events

| Name | Description | Properties | | ---- | ----------- | ---------- | | reportr.alert | Triggered when an alert is triggered | <string>type, <string>eventName |

Configuration

Reportr is configured using environment variables.

| Name | Description | | ---- | ----------- | | PORT | Port for running the application, default is 5000 | | MONGODB_URL | Url for the mongoDB database | | REDIS_URL | (Optional) Url for a redis database when using worker mode | | AUTH_USERNAME | Username for authentication | | AUTH_PASSWORD | Password for authentication |

See types for informations about alert configurations.

Events

An event represent something to monitor at a defined date. For example if I'm monitoring the temperature in my home, I'll post an event home.temperature with a property temp:

$ curl -X POST --data '{ "type":"home.temperature", "properties": { "temperature": 66 } }' http://localhost:5000/api/events

Visualizations

A visualization is a configured way to show data, for example in a pie, bar chart or time graph.

Types

| Type | Description | | ---- | ----------- |

Templates

Visualizations accept templates as most of rendering options. Template are processed using lodash's _.template method with some special functions:

  • $.date(date): returns a beautiful date

Alerts

Reportr lets you configure alerts to be triggered when specific condition is valid at a specific interval.

Types

| Type | Description | Configuration | | ---- | ----------- | ------------- | | webhook | Post an HTTP request to a specific url with the data encoded in the body | | | mail | Send an email notification | <string>MAIL_SERVICE, <string>MAIL_USERNAME, <string>MAIL_PASSWORD, <string>MAIL_FROM | | sms | Send a text message notification | <string>TWILIO_SID, <string>TWILIO_TOKEN, <string>TWILIO_FROM |

Condition

Condition for alerts are really easy to write, for example: COUNT > 9, this condition will be valid if at least 10 events have been posted in the alert interval. Conditions can also use the event object, for example: event.temperature > 80.

Trackers

| Description | Link | | ---- | ----------- | | Google Chrome Navigation | https://github.com/Reportr/tracker-googlechrome | | Home ambient (temperature, humidity, light) | https://github.com/Reportr/tracker-home-ambient | | Memory and CPU of computer | https://github.com/Reportr/tracker-machine | | Battery data | https://github.com/hughrawlinson/tracker-machine-battery |

Scale it

Reportr can easily be scaled on Heroku (and compatibles), use the REDIS_URL to enable a task queue between workers and web processes.