Skip to content

[FEATURE] Adicionar suporte para Links de guia, referencias e documentações nas dependências. #62

@eltonsandre

Description

@eltonsandre

🚀 Feature Request

💡 Descrição da Funcionalidade

A API GET /v1/generate/metadata deverá trazer na lista de dependências, Links de guia, referencias e documentações para cada dependência. (Quando houver).

Sugestão de contrato:

enum LinkType  {  
    guide,
    reference,
    website,
    tutorial,
    specification;
}
{
  "dependencies": [
    {
      "name": "Swagger (OpenAPI)",
      "description": "Swagger (OpenAPI) is a specification for describing and documenting REST APIs.",
      "key": "openapi",
      "tag": "DOCUMENTATION",
      "requirements": [],
      "_links": [
        {
          "type": "guide",
          "href": "https://pub.dev/documentation/swagger_dart_code_generator/latest/",
          "title": "Build dart types from Swagger/OpenAPI"
        },
        {
          "type": "tutorial",
          "href": "https://youtu.be/PZIrWX-CMMM?si=zT0G0az3w-iYFo_o",
          "title": "Semana do backend #11 - Documentação de API com Swagger"
        }
      ]
    },
    {
      "name": "WebSocket",
      "description": "A communication protocol that provides full-duplex communication channels over a single TCP connection.",
      "key": "websocket",
      "tag": "MESSAGING",
      "requirements": [],
      "_links": [
        {
          "type": "guide",
          "href": "https://vaden.io/guides/gs/messaging-stomp-websocket/",
          "title": "Using WebSocket to build an interactive web application"
        },
        {
          "type": "reference",
          "href": "https://docs.vaden.io/vaden/{dartVersion}/reference/messaging/websockets.html",
          "templated": true
        }
      ]
    }
  ]
}

🎯 Objetivo

Entendendo que o Vaden possa disponibilizar uma API Extensível, que tenha possibilidade de criação de Plugins (como o Spring Initializr no Intellij idea, Vscode etc..). Para que o desenvolvedor tenha a possibilidade de na própria IDE, gerar um projeto novo a partir do plugin pelo Vaden Generator API.
É interessante que metadata de dependências também possa trazer guias e sugestões de links para a dependência selecionada. Afim de que os desenvolvedores tenham uma facilidade há mais ao conhecer um novo Framework na lista de dependências.

Critérios de Aceitação

Liste os critérios que devem ser atendidos para considerar essa funcionalidade completa.

  • A API deverá retornar o response com o metadata contendo as informações de versões e dependências suportadas juntamente com os links de referencia para cada dependência.

📊 Impacto

Criação de plugins de inicialização de scaffold de projeto Dart direto da IDE

📝 Notas Adicionais

Referencia da API com metadata Spring Initializr (https://start.spring.io/)

curl --request GET \
  --url https://start.spring.io/metadata/client \
  --header 'Accept: application/vnd.initializr.v2.2+json'

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions