Skip to content

Latest commit

 

History

History
65 lines (39 loc) · 3.05 KB

01_design_doc.md

File metadata and controls

65 lines (39 loc) · 3.05 KB

Why create a metrics platform?

Problem

Software teams lack insight into project metrics like build performance, build stability, and codebase quality. There's not a language agnostic build and test analytics platform to visualize data in an actionable way.

What is the scope of the project?

Solution

Create a dashboard to track build performance, build count, build stability, and code coverage. Eventually expand to include detailed performance data, build analytics, and test analytics.

This is similar to Gradle Enterprise except the goal is to support any build system and any languge. Gradle Enterprise also lacks a dashboard feature.

Minimal Viable Product

The design should support different color themes.

See metrics dashboard for details.

Overall status

  • Wireframes
  • UI Design
  • Database setup
  • UI development
  • Unit & UI test development

How will the project be developed?

Tech Stack

Architecture

image

Provider is the simple state management for Flutter recommended by Google.

The main reasons for choosing the Provider as state management:

  1. Has good support of reactivity (see code samples and more wide explanation here).
  2. Has perfect support of asynchronous programming style (mere here).
  3. Simple for beginners because has a simple concept, understandable namings, and great documentation.
  4. Well testable because the concept is based on simple method calls.

Principles: Simplify. Standardize. Automate.

Features should be developed in a simple and standardized way. Automation should be used to ensure application stability and developer velocity.