Skip to content
This repository has been archived by the owner on Feb 11, 2022. It is now read-only.

novoda/github-reports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛑 THIS REPOSITORY IS OFFICIALLY NO LONGER UNDER MAINTENANCE since 10/02/2022 🛑

github-reports Build status

Team statistics from GitHub into your shell.


To know how to build/configure/use each module, please click on the links to access the documentation.

Base modules

Base modules allow for behaviour decomposition, each taking care of one specific functionality.

  • core contains all the models and main interfaces shared across the project
  • db-layer implements the persistence layer on a MySQL database
  • network contains all the network (HTTP) components used to query API
  • github contains the components to query the Github API and persist the retrieved elements on the database
  • float contains all the components needed to query the Float API
  • web-service contains the endpoint handlers for Amazon AWS Gateway written as Lambdas
  • github-hooks-web-service contains the the components used to receive and parse Github webhook notifications
  • sheets makes it easy to get data from Google Sheets documents

Batch modules

Batch modules allow the historical retrieval of data from Github and persistence on the database, using base modules.

  • batch defines a shared recursive batch mechanism that can be implemented with different cloud providers
  • batch-aws contains a service client layer for the needed Amazon AWS services (CloudWatch Events, SQS, Lambda)
  • batch-aws-lambda contains the Amazon AWS Lambda function that will recurse, using SQS, to fetch and store Github data

User Interfaces

User interfaces allow to execute all the processes implemented in the project.

  • reports-batch contains a CLI to query the Github APIs from your machine or from AWS, and store retrieved data in the remote/RDS database
  • reports-stats contains a CLI to query for statistics on data available in the remote/RDS database
  • reports-stats-google-sheets contains a Google Apps Script project to query for statistics on data available in the remote/RDS database and output them in a Google Spreadsheet
  • web-dashboard contains an Angular 2 Web app with dashboards that use organisation data retrieved and manipulated by other modules