Definição de dados e entidades do Ladesa
Tudo sobre as entidades do Ladesa, suas propriedades e como se relacionam.
Formatos e estruturas dos dados para comunicação entre sistemas.
Esquemas JSON, pacotes para C# (NuGet) e JavaScript/TypeScript (NPM), todos gerados automaticamente.
Você não encontra neste repositório as informações de como consumir e integrar aos nossos serviços em si. Para isso, indicamos que você consulte a documentação Conectar — Ladesa Dev Docs.
Dessa forma, esta especificação foca em definir quais são os dados e informações pertinentes aos nossos sistemas de maneira detalhada.
Para começar a trabalhar com a Especificação do Ladesa, siga estes passos:
-
Entender os sistemas do Ladesa: Consulte a documentação essencial para desenvolvedores para entender os conceitos fundamentais de nossos projetos.
-
Consumir a especificação: Veja como você pode integrar as modelagens das entidades em seus sistemas, consultando a seção 💖 Utilização.
-
Obter o Código-fonte: Clone o repositório e familiarize-se com a estrutura do projeto.
-
Configurar o Ambiente de Desenvolvimento: Siga as instruções na seção de 🧑💻 Desenvolvimento Local para configurar seu ambiente de trabalho.
-
Contribuir: Veja como você pode ajudar a melhorar a especificação, consultando a seção 😊 Como Contribuir.
A Especificação do Ladesa pode ser utilizada por:
-
Desenvolvedores: Para criar e manter aplicações que fazem parte do ecossistema Ladesa, garantindo que os aplicativos sigam as mesmas regras de dados e integração.
-
Integradores: Para desenvolver integrações entre sistemas existentes e o Ladesa, assegurando interoperabilidade e conformidade com padrões estabelecidos.
-
Analistas de Sistemas: Para entender como os dados são modelados e gerenciados dentro do ecossistema Ladesa.
dotnet add package Ladesa.Dtos
- Utilização do namespace
Ladesa.Dtos
using Ladesa.Dtos;
- Conversão de uma
string
JSON
para uma instância de alguma das classes
Arquivo arquivo = Arquivo.FromJson(jsonString);
# npm
npm install @ladesa-ro/especificacao
# pnpm
pnpm add @ladesa-ro/especificacao
# yarn
yarn add @ladesa-ro/especificacao
import {} from "@ladesa-ro/especificacao";
Para você realizar o desenvolvimento local, preparamos o guia a seguir.
Para o desenvolvimento local, é necessário preparar o seu ambiente de trabalho para mexer com este projeto.
Preparamos dicas e tutoriais para você acerca de cada pré-requisito, basta clicar nos links para saber mais.
- Acesso à Linha de Comando;
- Git;
- Node.js + Corepack;
- dotnet.
O primeiro passo para o desenvolvimento local é de obter uma cópia dos arquivos deste repositório. Para isso, digite:
git clone https://github.com/ladesa-ro/especificacao.git
cd especificacao
pnpm install
O projeto está organizado da seguinte forma:
Visualização em Árvore da estrutura do repositório.
.
├── .changeset/ # Arquivos de configuração e log de mudanças
│ ├── README.md # Instruções sobre changesets
│ ├── *.md # Log de mudanças específico
│ └── config.json # Configuração de changesets
├── .editorconfig # Definições de estilo de código
├── .github/ # Configurações e ações do GitHub
│ ├── actions/ # Ações personalizadas do GitHub
│ │ ├── prepare-build/ # Preparação para build
│ │ └── prepare-install/ # Preparação para instalação
│ ├── workflows/ # Workflows do GitHub Actions
│ │ ├── continuos-release-publish.yml
│ │ ├── publish-dotnet.yml
│ │ ├── publish-npm.yml
│ │ ├── quality.yml
│ │ └── release.yml
│ └── dependabot.yml # Configuração do Dependabot para atualizações automáticas
├── .gitignore # Arquivos e diretórios ignorados pelo Git
├── .husky/ # Configuração de hooks do Git (ex: pre-commit)
│ └── pre-commit
├── .vscode/ # Configurações do Visual Studio Code
│ ├── extensions.json # Extensões recomendadas
│ └── settings.json # Configurações de ambiente de desenvolvimento
├── CODEOWNERS # Arquivo de proprietários de código
├── LICENSE # Arquivo de licença (MIT)
├── README.md # Arquivo de documentação principal
├── biome.json # Configuração do Biome para o projeto
├── definitions/ # Diretório principal contendo definições
│ ├── biome.json # Configuração do Biome para definitions
│ ├── package.json # Configuração npm do módulo definitions
│ ├── src/ # Código-fonte das definições
│ │ ├── .utils/ # Utilitários compartilhados
│ │ │ ├── -index.tsp
│ │ │ ├── common.tsp
│ │ │ ├── entity-token.tsp
│ │ │ └── extensions/ # Extensões para decorators
│ │ │ ├── -index.tsp
│ │ │ ├── decorators/
│ │ │ │ ├── -index.tsp
│ │ │ │ ├── entity.js
│ │ │ │ ├── entity.tsp
│ │ │ │ ├── entityPartialOf.js
│ │ │ │ └── entityPartialOf.tsp
│ │ │ └── tokens.js
│ │ ├── autenticacao/ # Definições de autenticação
│ │ │ ├── -index.tsp
│ │ │ └── usuario.tsp
│ │ ├── base/ # Definições de entidades básicas
│ │ │ ├── -index.tsp
│ │ │ ├── arquivo.tsp
│ │ │ ├── imagem-arquivo.tsp
│ │ │ └── imagem.tsp
│ │ └── main.tsp # Definições principais do projeto
│ └── tspconfig.json-schema.yaml # Configuração do TypeScript para JSON Schema
├── integrations/ # Diretório de artefatos de integração
│ ├── dotnet/ # Definições para integração com .NET (C#)
│ │ ├── Ladesa.Dtos.Test/ # Testes unitários para .NET
│ │ │ ├── GlobalUsings.cs
│ │ │ ├── Ladesa.Dtos.Test.csproj
│ │ │ └── UnitTest1.cs
│ │ ├── Ladesa.Dtos/ # Definições principais para .NET
│ │ │ ├── .gitignore
│ │ │ ├── Ladesa.Dtos.cs
│ │ │ └── Ladesa.Dtos.csproj
│ │ ├── Ladesa.Spec.sln # Solução do .NET para o projeto
│ │ └── package.json # Configurações do npm para integração dotnet
│ ├── json-schema/ # Esquemas JSON para integração
│ │ ├── lib/ # Biblioteca de schemas JSON
│ │ │ ├── Arquivo.json
│ │ │ ├── ArquivoFindOneInputView.json
│ │ │ ├── ArquivoFindOneResultView.json
│ │ │ ├── ArquivoView.json
│ │ │ ├── DatedObject.json
│ │ │ ├── EntityToken.json
│ │ │ ├── Imagem.json
│ │ │ ├── ImagemArquivo.json
│ │ │ ├── ObjectUuid.json
│ │ │ ├── Usuario.json
│ │ │ ├── date_time.json
│ │ │ └── uuid.json
│ │ └── package.json # Configurações npm para JSON Schema
│ └── npm/ # Artefatos npm para integração JavaScript/TypeScript
│ ├── especificacao/ # Pacote npm da especificação
│ │ ├── biome.json # Configuração do Biome para o pacote
│ │ ├── package.json # Configurações npm para o pacote especificacao
│ │ └── src/ # Código-fonte do pacote especificacao
│ │ └── schemas.ts
├── package.json # Configurações gerais do projeto
├── pnpm-lock.yaml # Lockfile do pnpm
└── pnpm-workspace.yaml # Configurações do workspace para pnpm
pnpm run build
Todos os comandos são executados a partir da raiz do projeto, em um terminal:
Comando | Ação |
---|---|
pnpm install |
Instala as dependências. |
pnpm run -w build |
Gera os artefatos da especificação. |
pnpm run -w code-static:fix |
Correção de lint e formatação. |
Outros comandos
Comando | Ação |
---|---|
pnpm run -w lint:check |
Checa as regras do lint. |
pnpm run -w lint:fix |
Corrige erros resolviveis de lint. |
pnpm run -w format:check |
Checa as formatações dos arquivos. |
pnpm run -w format:fix |
Corrige as formatações inconsistêntes dos arquivos. |
pnpm run -w code-static:check |
Checagem de lint e formatação. |
Este projeto é open source, e contribuições são sempre bem-vindas! Existem diversas formas de você colaborar com a Especificação do Ladesa:
Se você encontrou algum problema ou erro na especificação, por favor, abra uma issue no GitHub. Detalhe o máximo possível para que possamos investigar e resolver rapidamente.
Tem uma ideia para melhorar a especificação? Sinta-se à vontade para sugerir novas funcionalidades, ajustes ou correções abrindo uma issue ou discutindo na Ladesa Community.
Se você já tem uma solução para um problema ou deseja propor uma melhoria no código, siga os passos abaixo para enviar um pull request:
- Faça um fork deste repositório.
- Clone o repositório em sua máquina local.
- Crie uma branch com o nome da sua funcionalidade ou correção.
- Faça as alterações necessárias.
- Envie um pull request detalhando o que foi alterado e por que.
Se você tiver experiência com o projeto, pode ajudar revisando e sugerindo melhorias nos pull requests abertos por outros colaboradores. A revisão cuidadosa ajuda a garantir que o código mantido esteja sempre em alta qualidade.
Lembre-se de seguir o código de conduta da comunidade em todas as interações.
Se você tiver dúvidas, sugestões ou precisar de ajuda, entre em contato conosco:
- Email:
em breve
. - Comunidade: Participe de discussões e interações na comunidade do Ladesa através do Ladesa Community.
- GitHub Issues: Para relatar bugs ou sugerir melhorias, utilize a seção de Issues do GitHub.
MIT © 2024 – presente, Ladesa.
⭐ Marque este repositório com estrela se achar útil!