Skip to content

project

Diana edited this page Oct 23, 2023 · 1 revision

This defines the project data structure.

Overview:

%%{init: {'theme':'dark',"fontFamily": "monospace"}}%%
erDiagram
    Parent ||--|{ Services : "Owner of the service"
    Parent ||--|| Repository: Code
    Parent{
        string name pk
        string domain
        string version
        string description
        Project[] Services
        String[] languages
        String[] frameworks
        Repository[] Repository
        Project Parent
        Repository Template
    }

    Service ||--|| Repository: Code
    Service ||--|{ Services : "Owner of the service"
    Service{
        string name pk
        string domain
        string version
        string description
        Project[] Services
        String[] languages
        String[] frameworks
        Repository[] Repository
        Project Parent fk
        Repository Template
    }

    Repository{
        string name
        string description
        string provider
        bool is_private
        string web_url
        string git_url
        bool from_template
        string template
    }

    "Parent Project" }|--|| Service : "owner"
    "Parent Project"{
        string name
        string web_url
        string git_url
    }
Loading

Written Definition

Project

---
name: string # required - This is the name of the project and will be used to name the repository
domain: string # required - This is the domain of the project and can optionally be appended to the name of the project
version: string # required - This is the version of the project
description: string # required - This is the description of the project that serves as the description of the repository
languages: [string] # optional - This is a list of programming languages used in the service
frameworks: [string] # optional - This is the framework the service is developed
services: [service] # required for parent projects, or hierarchical projects - This is the list of services/chilren in the project
repo: [repository] # optional - This is the configuration for the repository
parent: Parent # required for hierarchical projects - This is the parent project of the microservice
from_template: bool # optional - This indicates if the repository was created from a template
template: string # optional - This is the name of the source template repository

Repository

name: string # required - This is the name of the repository
description: string # required - This is the description of the repository
provider: string # optional - This is the name of the provider of the repository
is_private: bool # optional - This indicates if the repository is private
web_url: string # optional - This is the web URL of the repository
git_url: string # optional - This is the git URL of the repository
from_template: bool # optional - This indicates if the repository was created from a template
template: string # optional - This is the name of the source template repository

Parent

name: string # required - This is the name of the parent project
web_url: string # required - This is the web URL of the parent project
git_url: string # required - This is the git URL of the parent project
Clone this wiki locally