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 🙏

© 2025 – Pkg Stats / Ryan Hefner

node-red-contrib-wger

v0.2.0

Published

Node-RED nodes for integrating with wger workout and fitness tracker API

Readme

node-red-contrib-wger

Node-RED nodes for integrating with the wger workout and fitness tracker API.

Overview

This package provides a comprehensive set of Node-RED nodes for interacting with the wger API, allowing you to:

  • Search and manage exercises
  • Create and manage workout plans
  • Track nutrition and meals
  • Log weight measurements
  • Manage user profiles

Installation

Install via Node-RED's palette manager or run:

npm install node-red-contrib-wger

Configuration

Authentication

The wger API supports several authentication methods:

  1. None - For public endpoints (limited access)
  2. Token - Uses a permanent API token
  3. JWT - Uses JSON Web Tokens

To get an API token:

  1. Create an account at https://wger.de
  2. Go to your profile settings
  3. Generate an API token

Nodes

wger-config

Configuration node for connecting to a wger API instance.

wger-exercise

Manage exercise-related operations:

  • List exercises
  • Search exercises
  • Get exercise details
  • Get exercise images
  • Get exercise comments
  • Get categories, muscles, equipment

wger-workout

Manage workout plans and sessions:

  • List, create, update, delete workouts
  • Manage workout days
  • Manage exercise sets
  • Get workout canonical representations
  • View workout logs

wger-nutrition

Manage nutrition plans:

  • List, create, update, delete plans
  • Get nutritional values
  • Manage meals and ingredients

wger-weight

Track weight measurements:

  • List weight entries
  • Create new entries
  • Update/delete entries
  • Get statistical data

wger-user

Manage user profiles:

  • Get/update user profile
  • Manage settings

wger-api

Generic API node for custom operations not covered by the specialized nodes.

Examples

The package includes several example flows:

  • Exercise search
  • Workout creation
  • Nutrition plan management
  • Weight tracking

Find these in the Node-RED import menu under "Examples".

Usage Examples

Searching for Exercises

msg.payload = {
    term: "bench press",
    language: "en"
};
msg.operation = "searchExercises";
return msg;

Creating a Workout

// Create workout
msg.payload = {
    name: "Full Body Workout",
    description: "A comprehensive routine"
};
msg.operation = "createWorkout";

// After receiving workout ID, create a day
msg.payload = {
    description: "Monday - Chest",
    workout: workoutId,
    day: [1]
};
msg.operation = "createDay";

// Add exercises to the day
msg.payload = {
    exerciseday: dayId,
    exercise: exerciseId,
    sets: 3,
    repetitions: 10
};
msg.operation = "createSet";

Error Handling

All nodes provide error outputs and status indicators:

  • Blue dot: Processing request
  • Green dot: Success
  • Red dot/ring: Error occurred

Errors include details about the API response when available.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details.

Resources

Support

For issues and feature requests, please use the GitHub issue tracker.