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

gitevents

v0.3.4

Published

[![npm](https://img.shields.io/npm/v/gitevents.svg)](https://www.npmjs.com/package/gitevents)[![build status](https://travis-ci.org/gitevents/core.svg)](https://travis-ci.org/gitevents/core)[![docker](https://quay.io/repository/gitevents/gitevents/status

Downloads

3

Readme

npmbuild statusdockergittercode climatetest coverageissue count

GitHub Issues + Your Event = gitevents

You're organising a Developer user-group. You use GitHub Issues in your day job to manage your workflow. You're having trouble managing your event. Why not solve your problem with the tools you know.

gitevents uses a GitHub Issues to create, track and manage your Events as Milestones and book Talks as Issues, which a progressed through a simple Workflow as Labels.

It uses gitevents web-hooks to talk to a node.js service which listens to your GitHub Issues. This propogates events out to Social Networks (Facebook, Twitter, Google+) and Event Management sites (Tito, Meetup, Facebook, Google+) and keeps people informed (Tweets, Status Updates, Email).

How do I use it?

What do I need?

  1. A github Account
  2. A Repository per organisation
  3. A Personal Access Token able to edit your repository
  4. A public web-server to host the software
  5. A GitHub Repository for your event or usergroup (example: BarcelonaJS)
  6. Issues enabled on that repository (you can activate Issues in the repository settings)
  7. From the settings in Webhooks & Services create a webhook to your service ip (example: http://barcelonajs.org/github/delivery). /github/delivery is the required path.
  8. A personal access token for the organisation or your profile, including repo write access (https://github.com/settings/tokens)

Almost-just-one-click-ready-to-launch version:

  1. Create a secret gist with your production config. Name it gitevents.js (needs to contain at least github api token and repository info)
  2. Go to https://github.com/settings/tokens and create a token for your gitevents application
  3. Copy common/yourevent.js and adjust the values
module.exports = {
  debug: false,
  about: 'A line that is copied into every event.md file as content.',
  rollbar: '<if you have a rollbar account, otherwise remove>',
  date_format: 'DD.MM.YYYY',
  mail: {},
  paths: {
    talks: 'src/talks/',
    events: 'src/events/'
  },
  url: 'http://barcelonajs.org',
  github: {
    user: '<the acting github username>',
    repos: {
      planning: '<target user>/<target planning repo>',
      speakers: '<target user>/<target speakers repo>',
      gitevent: '<target user>/<target gitevent repo>'
    },
    secret: '<a random secret that you copy into all webhook settings as secret>',
    token: '<personal access token from https://github.com/settings/tokens>'
  },
  labels: {
    job: 'job',
    talk: 'talk',
    proposal: 'proposal',
    event: 'event'
  },
  schema: {
    default_organizer: {
      'type': 'Organization',
      'address': {
        'type': 'PostalAddress',
        'addressLocality': '<city, country>',
        'postalCode': '<postcode>',
        'streetAddress': '<address>'
      },
      'email': '<organisation email>',
      'name': '<organisation  name>',
      'url': '<organisation url>'
    },
    default_talk_url: '/talk/',
    default_event_url: '/event/',
    default_start_time: '19:00',
    default_talk: {
      'context': 'http://schema.org',
      'type': 'Educational event',
      'duration': 'P30M'
    },
    default_event: {
      'context': 'http://schema.org',
      'type': 'Social event',
      'location': {
        'type': 'Place',
        'address': {
          'type': 'PostalAddress',
          'addressLocality': '<city, country>',
          'postalCode': '<postcode>',
          'streetAddress': '<address>'
          'name': '<venue name>'
        },
        'url': 'http://barcelonajs.org',
        'duration': 'P2H'
      },
      doorTime: '18:45',
      inLanguage: {
        'type': 'Language',
        'name': 'English'
      }
    }
  }
};
  1. Log in to Digital Ocean and create a Droplet
  2. Name your droplet gitevents
  3. Choose $5/month size
  4. Choose Frankfurt 1 as datacenter (or whatever you want)
  5. Choose CoreOS as image (stable or beta)
  6. Select 'User Data' and copy cloud-config.yml into the field
  7. Change <token> with an etcd token from https://discovery.etcd.io/new?size=1
  8. Change <production.js> with the RAW link of your secret(!!!) gist
  9. Add your SSH keys (normally you wound't neet to log in, but just in case)
  10. Click Create

How to run gitevents locally / as a developer

  1. Start the development server: npm run dev
  2. Start localtunnel (npm i -g localtunnel): lt -p 3000
  3. Go to your test-repo webhook settings: https://github.com/gitevents/playground/settings/hooks
  4. Add or modify the webhook with the localtunnel url
  5. Create, label, and play with issues and milestones

Or:

Run the tests:

npm run test

Implemented so far:

  • gitevents Core
  • Meetup.com plugin to create and update meetups.

Coming soon

  • Twitter updates
  • Mailchimp Newsletters

Contribute

git clone https://github.com/gitevents/core.git
npm install
npm run test

Backlog / Milestone

  • Stabilise core functionality and github issue handling
  • Test and fix meetup.com event creation and updates
  • Tests for various use-cases: updating events, talks, proposals etc.

Contact

You can always get in touch in our community chat on Gitter.

Want to help?

Talk to PatrickHeneise from BarcelonaJS or IanCrowther from LNUG if you need any help. We can set up pair programming sessions for node.js beginners or for specific solutions (f.e. tests).