Code Monkey home page Code Monkey logo

reporter's Introduction

Release Reporter

A service that generates cross-repo release reports based off of GitHub and ZenHub data. It has 2 functions:

  • a scraper that fetches data and caches it in redis, meant to be run as a cron job
  • an API for accessing reports

Configuration

Name Type Default Description
GITHUB_TOKEN String "" Github access token
ZENHUB_TOKEN String "" Zenhub access token
REDIS_HOST String "" Redis host name
REDIS_PASSWORD String "" Redis password
REDIS_PORT String 6379 Redis port
RELEASE_REPO_ID String "" ID of a repository that is associated with the releases you want to track. This is used as the starting point for fetching release data across repositories.

Development

To start the app in development, first copy the .env.example file to a .env file:

cp .env.example .env

Fill out the .env file with your GitHub and ZenHub credentials, then run the following:

npm install
npm run start:dev

This will bring up a development docker-compose with Redis, a scraper, and the reporter API. The scraper runs once and then exits. Source code is mounted into the reporter container, so the API will recompile with any code changes.

You can also run npm run start:prod, which will build the production docker containers and launch a docker-compose.

Deployment

Kubernetes deployment files can be found in the top level /kubernetes directory. Fill out /kubernetes/env-configmap.yaml before applying:

for f in kubernetes/*.yaml; do kubectl apply -f $f; done

Authors

Kait Moreno - https://kaitlinmoreno.com

License

This project is licensed under MIT - see the LICENSE file for details

reporter's People

Contributors

kaitmore avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

reporter's Issues

Provide a database fixture with fake data

Running the scraper can be slightly inconvenient for frontend-focused local development. It would be nice if we could run a script against the local redis container that populates it with a few dozen rows of relevant data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.