Skip to content

Technical overview

Maciej Banaś edited this page Jun 1, 2023 · 10 revisions

gitstats is written with the use of R6.

Git Host

Role of this class is to manage different Git Platforms - GitHub and GitLab and handle which engines should be used when performing specific tasks, such as pulling repositories or commits.

For example GitHub's GraphQL handles pulling commits but in case of GitLab only REST can be used for this task.

There are even more complicated cases - e.g. although GitLab's GraphQL handles pulling repositories, contributors stats have to be pulled with the use of REST.

Engines

GitStats is making use of REST and GraphQL APIs. Methods coordinating (retrieving, formatting responses from requests from different APIs are managed by Engine classes (basically RestEngine and GraphQLEngine).

Clone this wiki locally