Feature/add contributors count to statistics (#342)

* Add contributors count to statistics

* Update changelog
pull/344/head
Thomas Kaul 3 years ago committed by GitHub
parent a4d049e53d
commit 4c194c938a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
### Added
- Extended the statistics section on the about page by the _GitHub_ contributors count
## 1.45.0 - 04.09.2021
### Added

@ -90,6 +90,27 @@ export class InfoService {
});
}
private async countGitHubContributors(): Promise<number> {
try {
const get = bent(
`https://api.github.com/repos/ghostfolio/ghostfolio/contributors`,
'GET',
'json',
200,
{
'User-Agent': 'request'
}
);
const contributors = await get();
return contributors?.length;
} catch (error) {
console.error(error);
return undefined;
}
}
private async countGitHubStargazers(): Promise<number> {
try {
const get = bent(
@ -131,11 +152,13 @@ export class InfoService {
const activeUsers1d = await this.countActiveUsers(1);
const activeUsers30d = await this.countActiveUsers(30);
const gitHubContributors = await this.countGitHubContributors();
const gitHubStargazers = await this.countGitHubStargazers();
return {
activeUsers1d,
activeUsers30d,
gitHubContributors,
gitHubStargazers
};
}

@ -94,27 +94,37 @@
<mat-card>
<mat-card-content>
<div class="row">
<div class="col-xs-12 col-md-4 my-2">
<div class="col-xs-12 col-md-3 my-2">
<h3 class="mb-0" [hidden]="!statistics?.activeUsers1d">
{{ statistics?.activeUsers1d ?? '-' }}
</h3>
<div class="h6 mb-0">
Active Users <small class="text-muted">(Last 24 hours)</small>
<span i18n>Active Users</span>&nbsp;<small class="text-muted"
>(Last 24 hours)</small
>
</div>
</div>
<div class="col-xs-12 col-md-4 my-2">
<div class="col-xs-12 col-md-3 my-2">
<h3 class="mb-0" [hidden]="!statistics?.activeUsers30d">
{{ statistics?.activeUsers30d ?? '-' }}
</h3>
<div class="h6 mb-0">
Active Users <small class="text-muted">(Last 30 days)</small>
<span i18n>Active Users</span>&nbsp;<small class="text-muted"
>(Last 30 days)</small
>
</div>
</div>
<div class="col-xs-12 col-md-4 my-2">
<div class="col-xs-12 col-md-3 my-2">
<h3 class="mb-0" [hidden]="!statistics?.gitHubContributors">
{{ statistics?.gitHubContributors ?? '-' }}
</h3>
<div class="h6 mb-0" i18n>Contributors on GitHub</div>
</div>
<div class="col-xs-12 col-md-3 my-2">
<h3 class="mb-0" [hidden]="!statistics?.gitHubStargazers">
{{ statistics?.gitHubStargazers ?? '-' }}
</h3>
<div class="h6 mb-0">Stars on GitHub</div>
<div class="h6 mb-0" i18n>Stars on GitHub</div>
</div>
</div>
</mat-card-content>

@ -1,5 +1,6 @@
export interface Statistics {
activeUsers1d: number;
activeUsers30d: number;
gitHubContributors: number;
gitHubStargazers: number;
}

Loading…
Cancel
Save