Skip to content

Latest commit

 

History

History
81 lines (50 loc) · 2.53 KB

CONTRIBUTING_EN.md

File metadata and controls

81 lines (50 loc) · 2.53 KB

Contributing to Certimate

Thank you for taking the time to improve Certimate! Below is a guide for submitting a PR (Pull Request) to the main Certimate repository.

Prerequisites

  • Go 1.22+ (for Go code changes)
  • Node 20+ (for Admin UI changes)

If you haven't done so already, you can fork the Certimate repository and clone your fork to work locally:

git clone https://github.com/your_username/certimate.git

Important: It is recommended to create a new branch from main for each bug fix or feature. If you plan to submit multiple PRs, ensure the changes are in separate branches for easier review and eventual merge. Keep each PR focused on a single feature or fix.

Making Changes in the Go Code

Once you have made changes to the Go code in Certimate, follow these steps to run the project:

  1. Navigate to the root directory.

  2. Start the service by running:

    go run main.go serve

This will start a web server at http://localhost:8090 using the prebuilt Admin UI located in ui/dist.

Before submitting a PR to the main repository, consider:

  • Format your source code by using gofumpt.

  • Adding unit or integration tests for your changes. Certimate uses Go’s standard testing package. You can run tests using the following command (while in the root project directory):

    go test ./...

Making Changes in the Admin UI

Certimate’s Admin UI is a single-page application (SPA) built using React and Vite.

To start the Admin UI:

  1. Navigate to the ui project directory.

  2. Install the necessary dependencies by running:

    npm install
  3. Start the Vite development server:

    npm run dev

You can now access the running Admin UI at http://localhost:5173 in your browser.

Since the Admin UI is a client-side application, you will also need to have the Certimate backend running. You can either manually run Certimate or use a prebuilt executable.

Any changes you make in the Admin UI will be automatically reflected in the browser without requiring a page reload.

After completing your changes, build the Admin UI so it can be embedded into the Go package:

npm run build

Once all steps are completed, you are ready to submit a PR to the main Certimate repository.