Skip to content

Software quality reports for teams and projects

License

Notifications You must be signed in to change notification settings

mnn59/quality-time

 
 

Repository files navigation

Quality-time

Quality Gate Status Security Rating Maintainability Rating Coverage BCH compliance

Quality-time is an automated quality system for software development and maintenance. Quality-time collects measurement data from sources such as Gitlab, SonarQube, Jira, Azure DevOps, and OWASP Dependency Check, to provide an overview of the quality of software products and projects. It does so by comparing measurement data with metric targets and informing development teams about the metrics that need improvement actions.

Technically, Quality-time consists of a React frontend, a Mongo database server, and three backend components written in Python: an API-server, a worker component to collect measurement data from the sources, and a worker component to send notifications.

Users can add and configure reports, metrics, and sources (such as SonarQube and Jira) in the frontend. The collector collects metrics data from the configured metric sources. It posts the measurements to the server which in turn stores them in the database. The frontend calls the server to get the reports and the measurements and presents them to the user.

Table of contents

Also see:

Screenshots

Some screenshots to wet your appetite.

Projects dashboard

Quality-time shows a summary of the projects on its landing page:

Screenshot

Metrics overview

For each metric, Quality-time displays the key data:

Screenshot

Metric details

Users can expand the metrics to see and configure the metric details:

Screenshot

And to manage false positives:

Screenshot

Features

Implemented features so far include:

  • Robust data collection (the collector should never fail, even in the face of misconfigured or unavailable sources).
  • Measurement history is kept in a database, allowing for time travel.
  • Easy report configuration via the UI.
  • Multiple reports in one Quality-time instance.
  • LDAP-integration.
  • Generic false-positive management.
  • Metric tags can be used to summarize metrics with the same tag across subjects, e.g. to summarize all security metrics.
  • Export of reports to PDF, both via the UI as well as via the API.
  • Notifications of events, such as metrics turning red, to Microsoft Teams.
  • Side-by-side comparison of measurements at different points in time.

For more plans, see the issue tracker.

Trying it out

Quality-time requires Docker and Docker-compose.

Clone this repository:

git clone https://github.com/ICTU/quality-time.git

Build the containers:

docker-compose build

Start the containers:

docker-compose up

The frontend is served at http://localhost. Use username admin and password admin to log in.

About

Software quality reports for teams and projects

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 72.9%
  • JavaScript 23.6%
  • Gherkin 2.5%
  • Shell 0.4%
  • CSS 0.3%
  • Dockerfile 0.2%
  • HTML 0.1%