Skip to content

HDRUK/gateway-metadata-integrations

Repository files navigation

LICENCE Support

gateway-metadata-integrations

Welcome to the HDR UK Gateway Metadata Integrations, a Go application that allows integration into the Gateway datasets HDR UK Gateway. This application facilitates seamless interaction with data custodian endpoints, whether authorized or unauthorized, and passes the data into the Gateway API to be translated into the latest schema version before being added as a dataset in the Gateway.

This project utilizes Go as the language of choice for its robust capabilities and memory-safe stability.

🚀 Getting Started

Follow these steps to run the project on your local machine.

Prerequisites

Ensure you have the following installed:

  • Go (Latest version) – More info here

Installation & Setup

1️⃣ Clone the repository

Open a terminal and execute:

git clone https://github.com/HDRUK/gateway-metadata-integrations

2️⃣ Navigate to the project directory

cd gateway-metadata-integrations

3️⃣ Set up environment variables

Create a .env file and populate it with appropriate values, using .env.example as a reference.

4️⃣ Install dependencies

go mod tidy

5️⃣ Start the application

Run the application using:

go run main.go

🛠 Available Commands

In the project directory, you can run the following commands:

  • go run main.go – Starts the application.
  • go build – Builds the application for production.
  • go test ./... – Runs the Go test suite.

📂 Project Structure

A brief overview of the project's folder structure:


├── pkg/pull/          # Pull methods
├── pkg/push/          # Push methods
├── pkg/routes/        # Routing methods
├── pkg/secrets/       # Secret methods   ...shhh..
├── pkg/utils/         # Common utils and mocks
├── pkg/validator/     # Validation methods
├── tests/             # Unit tests
├── .env.example       # Sample environment variables file
├── go.mod             # Go module dependencies
├── go.sum             # Checksums for dependencies
├── main.go            # Application entry point
└── README.md          # Project documentation

🧪 Testing

We use Go's built-in testing package for unit and integration testing.

To run tests:

go test ./tests

📖 Additional Resources


For further support, please reach out via HDR UK or raise a bug or even better, submit a PR!

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

Languages