dodo-database-service

This repository contains a list of KPIs and metrics used to calculate the current state of DevOps of a team/organization, based on their GitHub usage.

https://github.com/fraunhofer-iem/dodo-database-service

Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization fraunhofer-iem has institutional domain (www.iem.fraunhofer.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary

Keywords

devops kpis metrics
Last synced: 6 months ago · JSON representation ·

Repository

This repository contains a list of KPIs and metrics used to calculate the current state of DevOps of a team/organization, based on their GitHub usage.

Basic Info
Statistics
  • Stars: 5
  • Watchers: 1
  • Forks: 0
  • Open Issues: 32
  • Releases: 33
Topics
devops kpis metrics
Created over 4 years ago · Last pushed about 3 years ago
Metadata Files
Readme License Citation

README.md

Overview

This repository is intended as a playground to calculate and verify KPIs and metrics defined in the research project DoDo. The repository contains a description of the calculated KPIs here.

The documentation of the fundamental data model for this KPI system can be accessed here.

Further Repositories

An additional project is used to visualize the calculated data and can be found here.\ To deploy the complete setup using docker and adding traefik for routing between the containers you can use this repository.

Installation

bash $ npm install

Running the app

Start the database by running docker-compose up -d. Per default a web interface displaying the current state of the database is launched on localhost:8081. The credentials are defined in the docker-compose file.

```bash

development

$ npm run start

watch mode

$ npm run start:dev

production mode

$ npm run start:prod ```

OpenApi

The OpenApi description of this API is reachable on the /api endpoint.

Test

```bash

unit tests

$ npm run test

e2e tests

$ npm run test:e2e

test coverage

$ npm run test:cov ```

Run the statistic tests

bash $ npm test

If you run the newest Linux Version (21) you might run into problems, because the mongodb binary is not found. In this case manually set the binary download url as an environment variable (MONGOMSDOWNLOADURL=https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.3.tgz).

Configuration

Create local .env.local file in which you store a GitHub access token under the GITHUB_ACCESS_TOKEN key. The GitHub REST API is restricted to 60 requests per hour if you don't use any access token and this will be exceeded by one of the predefined queries. For more details of the limited rates see the GitHub documentation.

Database

Add the URI and user credentials for your database to the .env.local file.

bash DB_URI=mongodb://localhost:27017/<shouldReflectYourDatabaseDefinedInDockerCompose> DB_USER=<userName as defined in docker-compose> DB_USER_PASSWORD=<password as defined in docker-compose>

The user credentials have to match the ones defined in the docker-compose.yml.

In order to get a clean setup you have to remove the docker volume! Use docker volume rm visu-code-db-service_mongodb-data for that.

Windows Only

Make sure the mongo-init.sh is stored with LF line endings!

Owner

  • Name: Fraunhofer IEM
  • Login: fraunhofer-iem
  • Kind: organization
  • Location: Paderborn, Germany

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  Doing Optimal DevOps - Evidence-based Guidance to
  Your DevOps Journey
message: >-
  If you use information from this repository, please
  cite it using the metadata from this file.
type: software
authors:
  - given-names: Jan-Niclas
    family-names: Strüwer
    email: jan-niclas.struewer@iem.fraunhofer.de
    affiliation: Fraunhofer IEM
    orcid: 'https://orcid.org/0000-0002-4876-3483'
  - given-names: Benedict
    family-names: Wohlers
    email: benedict.wohlers@iem.fraunhofer.de
    affiliation: Fraunhofer IEM
    orcid: 'https://orcid.org/0000-0001-8285-2343'
  - given-names: Felix
    email: felix.barczewicz@iem.fraunhofer.de
    family-names: Barczewicz
    affiliation: Fraunhofer IEM
  - email: nitin.chamoli@iem.fraunhofer.de
    affiliation: FraunhoferIEM
    given-names: Nitin
    family-names: Chamoli
  - given-names: Til
    family-names: Schulz
    email: til.schulz@iem.fraunhofer.de
    affiliation: Fraunhofer IEM

GitHub Events

Total
Last Year

Dependencies

package-lock.json npm
  • 769 dependencies
package.json npm
  • @nestjs/cli ^8.2.1 development
  • @nestjs/schematics ^8.0.7 development
  • @nestjs/testing ^8.4.0 development
  • @types/express ^4.17.13 development
  • @types/jest ^27.4.1 development
  • @types/node 17.0.21 development
  • @types/supertest ^2.0.11 development
  • @typescript-eslint/eslint-plugin ^5.13.0 development
  • @typescript-eslint/parser ^5.13.0 development
  • eslint ^8.10.0 development
  • eslint-config-prettier ^8.4.0 development
  • eslint-plugin-prettier ^4.0.0 development
  • jest ^27.5.1 development
  • mongodb-memory-server ^8.4.0 development
  • prettier ^2.5.1 development
  • supertest ^6.2.2 development
  • ts-jest ^27.1.3 development
  • ts-loader ^9.2.7 development
  • ts-node ^10.6.0 development
  • tsconfig-paths ^3.12.0 development
  • typescript ^4.6.2 development
  • @nestjs/common ^8.4.0
  • @nestjs/config ^1.2.0
  • @nestjs/core ^8.4.0
  • @nestjs/mongoose ^9.0.2
  • @nestjs/platform-express ^8.4.0
  • @nestjs/swagger ^5.2.0
  • class-transformer ^0.5.1
  • class-validator ^0.13.2
  • mongoose ^6.2.4
  • octokit ^1.7.1
  • reflect-metadata ^0.1.13
  • rimraf ^3.0.2
  • rxjs ^7.5.4
  • swagger-ui-express ^4.3.0
.github/workflows/feature.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
.github/workflows/lint.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • ncipollo/release-action v1 composite
.github/workflows/tag.yml actions
  • actions/checkout v2 composite
  • anothrNick/github-tag-action 1.36.0 composite
.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
.github/workflows/updateDeploy.yml actions
  • actions/checkout v2 composite
Dockerfile docker
  • node alpine build
docker-compose.yml docker
  • mongo latest
  • mongo-express latest