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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@rifflearning/metrics

v0.0.1

Published

Riff communication metrics and dashboard

Downloads

1

Readme

Riff Learning metrics

Riff metrics (visualizations and tables) and presentation dashboard

React components

  • Dashboard - Allows selection of a meeting and presents the general info and charts of the metrics for that meeting (currently all of the metrics components that are exported)
  • TurnChart
  • InfluenceChart
  • TimelineChart
  • MeetingInfo - Presents general information about a particular riff meeting. ie room name, date/time of the meeting, length of the meeting, attendees
  • ChartCard
  • A11y.ChartTable - A table that is intended to be hidden that should contain a representation of a visual chart that is a more screen reader friendly presentation.

How to use this package

npm install @rifflearning/metrics
import {
    Dashboard,
    MeetingInfo,
    InfluenceChart,
    TimelineChart,
    TurnChart,
} from '@rifflearning/metrics';

You will need to connect the redux state props, example to come later.

How to publish this package

< Still to be figured out >

Notes about extraction from riff-rtc

  • I'm removing Helmet, so that functionality will need to be added back in riff-rtc
  • redux store connection should remain in riff-rtc

Open questions

What to do about utils? I've currently copied them from riff-rtc but that will be a maintenance nightmare.

The redux/actions/dashboard functionality MUST be moved here, but I'm postponing dealing with that for now. I suspect the thing to do is to move it into the riffdata-client in some way, probably by designing and implementing a decent class for that.

@material-ui/icons required peer dependencies of

  • @material-ui/core@^4.1.2
  • react-dom@^16.8.0

I'm making them peerDependencies and devDependencies (at least for now)

First Pull Request (initial package functionality)

Description

The riff dashboard, metrics and a couple of other related components (e.g. A11y.ChartTable, ChartCard) have been moved from riff-rtc to this repo. The intention is for this repo to be published as an npm package that can be listed as a dependency of riff-rtc and the functionality imported there.

At this point only the react components have been made available in this package.

The point of merging this into develop (and master) at this point is to allow the actual package to be created, and verified to work as intended.

Once process to create the this initial 0.0.1 package as the public @rifflearning/metrics rifflearning organization owned package is determined. There is still much to be done.

Here are the remaining tasks that I can think of:

  • extract the functionality for manipulating the riffdata to produce the metrics to this repo
    • do we want to structure it for a redux store w/ reducers, action creators, selectors?
    • how do we access the riffdata server? (ie who does the authentication and sets up the feathers app?)
  • figure out how to deal w/ the utility functionality (does it belong in its own repo/package? or as a git submodule?)
  • do we consider ChartCard a utility component (if we create a utility package should it be moved there?
  • should bulma be a peer dependency? The components do use the bulma functionality, so probably.
  • create a testing infrastructure
  • see about setting up CI to run lint/style checks and unit tests
  • make it a private package not a public package (that costs $$$ so that is a last step, and the question will be if we try to use the new beta github package functionality or go with paying for private npm packages $7/month/user).
    • how do developers get access to the private packages?
    • how does the build/deploy process get access to the private packages in a secure fashion?

Motivation and context

Once the dashboard functionality is available as a package, it can be maintained in this one location and used by riffplatform (riff-rtc) and riffedu (mattermost-webapp).

In addition, currently the algorithms for the metrics are in the public riff-rtc and mattermost-webapp repos, Riff Learning considers those proprietary and therefore they should be moved to a private repository.