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 allow for behaviour decomposition, each taking care of one specific functionality.
corecontains all the models and main interfaces shared across the projectdb-layerimplements the persistence layer on a MySQL databasenetworkcontains all the network (HTTP) components used to query APIgithubcontains the components to query the Github API and persist the retrieved elements on the databasefloatcontains all the components needed to query the Float APIweb-servicecontains the endpoint handlers for Amazon AWS Gateway written as Lambdasgithub-hooks-web-servicecontains the the components used to receive and parse Github webhook notificationssheetsmakes it easy to get data from Google Sheets documents
Batch modules allow the historical retrieval of data from Github and persistence on the database, using base modules.
batchdefines a shared recursive batch mechanism that can be implemented with different cloud providersbatch-awscontains a service client layer for the needed Amazon AWS services (CloudWatch Events, SQS, Lambda)batch-aws-lambdacontains the Amazon AWS Lambda function that will recurse, using SQS, to fetch and store Github data
User interfaces allow to execute all the processes implemented in the project.
reports-batchcontains a CLI to query the Github APIs from your machine or from AWS, and store retrieved data in the remote/RDS databasereports-statscontains a CLI to query for statistics on data available in the remote/RDS databasereports-stats-google-sheetscontains a Google Apps Script project to query for statistics on data available in the remote/RDS database and output them in a Google Spreadsheetweb-dashboardcontains an Angular 2 Web app with dashboards that use organisation data retrieved and manipulated by other modules