Skip to content

Visma-Idella/vips-contracts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 

Repository files navigation

vips-contracts

Visma Idella BV public resources, OpenAPI and other SCHEMA specifications

πŸ‘€ [Visma Idella][info@visma-idella.nl]

This repository contains the data contracts for the VIPS product lines. It serves as the source of truth for the public-facing APIs and events, structured by product line.

πŸ“– Introduction

This repository is the central location for all data contracts related to the VIPS product lines. It is designed to be the single source of truth that drives consistency across our services. The repository is organized by product line, with each line containing its own set of json-schemas, open-api, and cloudevents definitions.

Repository Structure

The repository is organized by product line, starting with pensions. Each product line folder contains subfolders for the different types of contracts:

/
└── pensions/
    β”œβ”€β”€ json-schemas/
    β”‚   β”œβ”€β”€ generic/
    β”‚   β”‚   └── name-of-the-entity/
    β”‚   β”‚       └── 1.0.0/
    β”‚   β”‚           β”œβ”€β”€ name-of-the-entity.schema.json
    β”‚   β”‚           └── name-of-the-entity.example.json
    β”‚   └── microservice-a/
    β”‚       └── name-of-the-entity/
    β”‚           └── 1.0.0/
    β”‚               β”œβ”€β”€ name-of-the-entity.schema.json
    β”‚               └── name-of-the-entity.example.json
    β”œβ”€β”€ open-api/
    β”‚   └── name-of-the-api/
    β”‚       └── v1.0/
    β”‚       β”‚   └── name-of-the-api.oas.yaml
    β”‚       └── v1.1/
    β”‚       β”‚   └── name-of-the-api.oas.yaml
    β”‚       └── v2.0/
    β”‚           └── name-of-the-api.oas.yaml    
    └── cloudevents/
        β”œβ”€β”€ internal-events/
        β”‚   └── group-name/
        β”‚       └── v1.0/
        β”‚       β”‚   └── entity-name-data.schema.json
        β”‚       β”‚   └── entity-name-data.simple-example.json
        β”‚       β”‚   └── entity-name-data.complex-example.json
        β”‚       └── v1.1/
        β”‚       β”‚   └── entity-name-data.schema.json
        β”‚       β”‚   └── entity-name-data.simple-example.json
        β”‚       └── v2.0/
        β”‚           └── entity-name-data.schema.json
        β”‚           └── entity-name-data.simple-example.json
        β”‚           └── entity-name-data.complex-example.json
        └── external-events/
            └── external-group-name/
                └── v1.0/
                    └── entity-name-data.schema.json
                    └── entity-name-data.simple-example.json
                    └── entity-name-data.complex-example.json
    

Standards

All contracts within this repository adhere to the following standards:

  • File and Folder Naming: All file and folder names use kebab-case.
  • JSON Schema Properties: Properties are written in lower_snake_case.
  • Enums: Enum values are written in UPPER_SNAKE_CASE.
  • OpenAPI Version: All open-api specifications are written in OAS 3.1.
  • JSON Schema Versioning: For json-schemas, each entity has its own folder. Inside, a subfolder for each semantic version (e.g., 1.0.0) contains the name-of-the-entity.schema.json and a corresponding name-of-the-entity.example.json file.
  • Grouping of JSON Schemas: json-schemas are grouped based on the microservice that is the source of truth for them

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •