GithubHelp home page GithubHelp logo

rickschubert / ticketdashboard Goto Github PK

View Code? Open in Web Editor NEW
3.0 0.0 0.0 62 KB

Example app: Dashboard for GitHub and ZenHub metrics

Home Page: http://ticketdashboard.herokuapp.com

CSS 0.96% HTML 1.24% JavaScript 97.81%

ticketdashboard's Introduction

Ticket Dashboard

This dashboard displays live information about the amount of open and closed tickets on GitHub for our team. The dashboard compares the progress over time (last week, last month, all time). By also integrating ZenHub, managers can track how long the average development time was per ticket. Additionally, the computed metrics get stored daily to make out statistical trends.

Technologies used

  • React Front-End with client-side routing
  • Node.JS REST API
  • MongoDB database with a number of complex queries to aggregate metrics
  • Cronjobs to crawl the APIs, making severe use of async concepts
  • Tests with mocha and supertest
  • Webpack and ESLint for best-practices in code optimisation
  • Heroku deployment

ticketdashboard's People

Contributors

rickschubert avatar

Stargazers

Ellen Forbes avatar  avatar FA avatar

ticketdashboard's Issues

Freeze time (demo database doesn't run cronjobs which keep the data continuously up to date)

I have to hard-code the times for querying the routes as I am using static data due to demo purposes. The cronjobs in the actual project run continuously which keeps the tickets in the database always up to date. For this demo, cronjobs are not set up which is why (as by this date) issues from last week don't get pulled anymore - because there are no tickets which have been created last week! All the tickets in the database are older than a week ago. This is why I have to freeze time in the demo.

amount_bugs_since.js

// Freeze time for demo purposes
let currentDate = new Date("2017-10-26T20:23:01.804Z")
currentDate.setDate(currentDate.getDate() - 7)
const pastWeek = currentDate.toISOString()

currentDate = new Date("2017-10-26T20:23:01.804Z")
currentDate.setDate(currentDate.getDate() - 30)
const pastMonth = currentDate.toISOString()

amount_issues_since.js

// Freeze time for demo purposes
let currentDate = new Date("2017-10-26T20:23:01.804Z")
currentDate.setDate(currentDate.getDate() - 7)
const pastWeek = currentDate.toISOString()

currentDate = new Date("2017-10-26T20:23:01.804Z")
currentDate.setDate(currentDate.getDate() - 30)
const pastMonth = currentDate.toISOString()

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.