Skip to content

Latest commit

 

History

History
61 lines (37 loc) · 2.3 KB

CONTRIBUTING.md

File metadata and controls

61 lines (37 loc) · 2.3 KB

Contributing

First off, thank you for considering contributing to MetriK. It's people like you that make it a great tool.

Your First Contribution

You can contribute through many ways, which including but not limited to:

  • Report or fix an Issue

    • If you've noticed a bug or have a feature request, make one! It's generally best if you get confirmation of your bug or approval for your feature request this way before starting to code
  • Review or make a Pull Request

    • Feel free to ask for help, everyone is a beginner at first :)
    • Working on your first Pull Request? You can learn how from HERE
  • Update the Documentation

    • If the current docs are confusing for you, others may feel the same! Help us to make it better

Getting Started

Environment Setup

Backend

  1. cd backend
  2. Setup MongoDB by running ./mongodb-setup/mongodb-for-local/setup-mongodb.sh
  3. Run ./gradlew clean bootRun
  4. Now you can access backend Swagger-ui by access http://localhost:9000/swagger-ui/index.html

Frontend

  1. cd frontend
  2. npm install
  3. npm run start:local-api
  4. Now you can access it from: http://localhost:2333/

Architecture and Data Flow

Integrate with New CI/CD System

Generally speaking, the data flow could be separated into two parts, one part reads data from CI/CD system and save the data to the database, another part retrieves data from the database and do calculations.

Therefore, integrating a new CI/CD system will have nothing to do with the calculating logic, only need to focus on retrieve data from the pipeline and do some converting. To integrate, simply implement the PipelineService and add it into the SynchronizationApplicationService

Conventions

Commit Message

We recommend to use conventional commits for better readability.

The commit message should be structured as follows:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]