Gerador de Código

T2Ti

Introdução

Reunião Estratégica


Este vídeo mostra a simulação de uma reunião estratégica de equipe onde se apresenta a necessidade de construção de uma ferramenta que automatize a geração de código para o ERP.

É necessário fazer o login no site para assistir este vídeo


Exemplos


Neste vídeo mostramos dois geradores que foram feitos para as versões anteriores do T2Ti ERP. Eles nos fornecem um vislumbre do que precisamos construir para o T2Ti ERP Fenix.

É necessário fazer o login no site para assistir este vídeo


Próximos Passos


Neste vídeo explicamos quais os próximos passos do treinamento levando em consideração a necessidade de desenvolver o Gerador de Código.

É necessário fazer o login no site para assistir este vídeo


Primeiros Passos

Novo Projeto


Criando um novo projeto Node para o Gerador de Código. Testes com Sequelize consultando tabelas e campos.

É necessário fazer o login no site para assistir este vídeo


MySQL Padrão


Utilizando o pacote MySQL padrão para consultar nomes de tabelas e campos no banco de dados.

É necessário fazer o login no site para assistir este vídeo


Arrumando a Casa


Estruturando o projeto (pastas e arquivos).

É necessário fazer o login no site para assistir este vídeo


Mustache


Introdução ao Mustache.

É necessário fazer o login no site para assistir este vídeo


Controller


Utilizando código de Controller para gerar o primeiro arquivo utilizando o Gerador de Código. O primeiro arquivo a ser gerado será o Model do servidor Delphi.

É necessário fazer o login no site para assistir este vídeo


Delphi Model


Desenvolvendo a classe de modelo que vai ser utilizada para suprir o template do Mustache com dados JSON para gerar o arquivo fonte desejado.

É necessário fazer o login no site para assistir este vídeo


Testes


Testes e considerações finais.

É necessário fazer o login no site para assistir este vídeo


TypeSript

Introdução


Introdução ao TypeScript no Projeto T2Ti ERP Fenix.

É necessário fazer o login no site para assistir este vídeo


TypeORM

Introdução


Introdução ao TypeORM no Projeto T2Ti ERP Fenix.

É necessário fazer o login no site para assistir este vídeo


Migrando para TypeScript

O conjunto de vídeos abaixo tem por objetivo mostrar como migrar o projeto Gerador de Código de JavaScript para TypeScript.

Novo Projeto


Criando um novo projeto TypeScript Node para o Gerador de Código.

É necessário fazer o login no site para assistir este vídeo


Arquivos Principais


Definindo os arquivos principais responsáveis por "subir" o servidor.

É necessário fazer o login no site para assistir este vídeo


Banco Config


Configurando o projeto para usar o TypeORM.

É necessário fazer o login no site para assistir este vídeo


Rotas


Definindo as rotas.

É necessário fazer o login no site para assistir este vídeo


Model


Arrumando os arquivos da pasta Model.

É necessário fazer o login no site para assistir este vídeo


Controller e Service


Definindo o Controller e o Service.

É necessário fazer o login no site para assistir este vídeo


Gerar Fontes


Migrando o código de geração do fonte do Model Delphi de JavaScript para TypeScript.

É necessário fazer o login no site para assistir este vídeo


Delphi

O conjunto de vídeos abaixo tem por objetivo mostrar a implementação do gerador de código para gerar as classes para o servidor Delphi.

Explicação da Ideia


O que você vai ver:

  • Comentários sobre as classes feitas no Delphi - Model, Controller e Service
  • Considerações sobre como encontrar os relacionamentos entre as tabelas para gerar nas classes
  • Alterações no DER - inserção de comentários no campo PK da tabela para gerar os relacionamentos nas classes
  • Implementação da classe Relacionamento para armazenar os dados dos relacionamentos


É necessário fazer o login no site para assistir este vídeo


Consultas ao SGBD


O que você vai ver:

  • Como pegar as colunas do banco de dados já com os comentários
  • Como encontrar tabelas agregadas a uma tabela mestre
  • Implementação dos métodos no TabelaService para trazer os dados mencionados nos dois itens anteriores
  • Alterações pontuais no TabelaService


É necessário fazer o login no site para assistir este vídeo


Organizando as Pastas


O que você vai ver:

  • Organização das pastas e arquivos do projeto


É necessário fazer o login no site para assistir este vídeo


Tabela Controller


O que você vai ver:

  • Utilização de 'let' no lugar de 'var' em todo o projeto - refatoração
  • Alteração do controller para que fique responsável apenas pela REST delegando a responsabilidade de gerar os arquivos para outras clases


É necessário fazer o login no site para assistir este vídeo


Gerador Base


O que você vai ver:

  • Implementação da classe GeradorBase
  • Implementação do método gerarDiretorio
  • Implementação do método gravarArquivo


É necessário fazer o login no site para assistir este vídeo


Gerador Delphi - Parte 01


O que você vai ver:

  • Primeira parte da implementação da classe GeradorDelphi
  • Definição das assinaturas dos métodos


É necessário fazer o login no site para assistir este vídeo


Template Model


O que você vai ver:

  • Alterações no template Model para que o mesmo fique pronto para gerar o código referente às tabelas vinculadas


É necessário fazer o login no site para assistir este vídeo


Delphi Model


O que você vai ver:

  • Apresentação do lodash
  • Implementação passo a passo da classe que gera a classe Model para as tabelas


É necessário fazer o login no site para assistir este vídeo


Template Controller


O que você vai ver:

  • Construção do template Controller para que o mesmo fique pronto para a geração do código


É necessário fazer o login no site para assistir este vídeo


Delphi Controller


O que você vai ver:

  • Implementação passo a passo da classe que gera a classe Controller para as tabelas


É necessário fazer o login no site para assistir este vídeo


Template Service


O que você vai ver:

  • Construção do template Service para que o mesmo fique pronto para a geração do código


É necessário fazer o login no site para assistir este vídeo


Delphi Service


O que você vai ver:

  • Implementação passo a passo da classe que gera a classe Service para as tabelas


É necessário fazer o login no site para assistir este vídeo


Gerador Delphi - Parte 02


O que você vai ver:

  • Segunda parte da implementação da classe GeradorDelphi
  • Implementação do método gerarArquivos
  • Implementação do método gerarAgregadosPrimeiroNivel
  • Implementação do método pegarCampos
  • Implementação do método gerarModel


É necessário fazer o login no site para assistir este vídeo


Gerador Delphi - Parte 03


O que você vai ver:

  • Terceira parte da implementação da classe GeradorDelphi
  • Implementação do método gerarArquivosTabelaPrincipal
  • Implementação do método gerarController
  • Implementação do método gerarService


É necessário fazer o login no site para assistir este vídeo


Testes


O que você vai ver:

  • Testando e debugando a aplicação
  • Analisando os arquivos gerados


É necessário fazer o login no site para assistir este vídeo


Exercícios


O que você vai ver:

  • Exercícios indicados para quem está fazendo o treinamento em Delphi e para os demais colegas
  • Considerações finais


É necessário fazer o login no site para assistir este vídeo


Objeto JSON DER

Documento


Este vídeo mostra o documento explicativo para o objeto JSON que deve ser inserido no comentário de cada coluna das tabelas do banco de dados.

É necessário fazer o login no site para assistir este vídeo


Exemplos


Neste vídeo mostramos como gerar o objeto JSON num exemplo real para a coluna CNPJ da tabela PESSOA_JURIDICA. Além disso, mostramos uma pequena ferramenta feita em Delphi para facilitar a montagem do objeto JSON. Essa ferramenta pode ser utilizada pelos alunos para gerar os objetos. Ela também pode ser utilizada como base para a construção de ferramentas similares nas demais linguagens, de acordo com a necessidade e vontade de cada aluno.

É necessário fazer o login no site para assistir este vídeo


Delphi - Alteração Service

Alteração Service


Este vídeo mostra o que foi preciso alterar no Gerador por conta do novo objeto JSON que será inserido nas colunas do DER e por conta de uma modificação na lógica das classes Service do servidor Delphi.

É necessário fazer o login no site para assistir este vídeo


Java

O conjunto de vídeos abaixo tem por objetivo mostrar a implementação do gerador de código para gerar as classes para o servidor Java.

Tabela Controller


O que você vai ver:

  • Alterações na classe TabelaController para possibilitar a geração dos arquivos para o servidor Java
  • Novo parâmetro passado na URI para informar o 'package' das classes Java


É necessário fazer o login no site para assistir este vídeo


Gerador Java


O que você vai ver:

  • Considerações sobre a classe GeradorJava, que é muito parecida com a que construímos para o Delphi


É necessário fazer o login no site para assistir este vídeo


Java Model


O que você vai ver:

  • Análise do template Java.Model.mustache
  • Análise da classe JavaModel que gera as classes de modelo para o Java


É necessário fazer o login no site para assistir este vídeo


Java Controller


O que você vai ver:

  • Análise do template Java.Controller.mustache
  • Análise da classe JavaController que gera a classe Controller para o Java


É necessário fazer o login no site para assistir este vídeo


Java Repository


O que você vai ver:

  • Análise do template Java.Repository.mustache
  • Análise da classe JavaRepository que gera a classe Repository para o Java


É necessário fazer o login no site para assistir este vídeo


Java Service


O que você vai ver:

  • Análise do template Java.Service.mustache
  • Análise da classe JavaService que gera a classe Service para o Java
  • Sugestões de exercícios


É necessário fazer o login no site para assistir este vídeo


C#

O conjunto de vídeos abaixo tem por objetivo mostrar a implementação do gerador de código para gerar as classes para o servidor C#.

Tabela Controller


O que você vai ver:

  • Alterações na classe TabelaController para possibilitar a geração dos arquivos para o servidor C#


É necessário fazer o login no site para assistir este vídeo


Gerador C#


O que você vai ver:

  • Considerações sobre a classe GeradorCSharp, que é muito parecida com a que construímos para o Java


É necessário fazer o login no site para assistir este vídeo


C# Model


O que você vai ver:

  • Análise do template CSharp.Model.mustache
  • Análise da classe CSharpModel que gera as classes de modelo para o C#


É necessário fazer o login no site para assistir este vídeo


C# Controller


O que você vai ver:

  • Análise do template CSharp.Controller.mustache
  • Análise da classe CSharpController que gera a classe Controller para o C#


É necessário fazer o login no site para assistir este vídeo


C# Repository


O que você vai ver:

  • Análise do template CSharp.Repository.mustache
  • Análise da classe CSharpRepository que gera a classe Repository para o C#


É necessário fazer o login no site para assistir este vídeo


C# Extension


O que você vai ver:

  • Análise do template CSharp.Extension.mustache
  • Análise da classe CSharpExtension que gera a classe Extension para o C#
  • Sugestões de exercícios


É necessário fazer o login no site para assistir este vídeo


C# NHibernate


O que você vai ver:

  • Alterações no gerador de código para gerar as classes para o servidor C# com o ORM NHibernate


É necessário fazer o login no site para assistir este vídeo


Node

O conjunto de vídeos abaixo tem por objetivo mostrar a implementação do gerador de código para gerar as classes para o servidor Node.

Tabela Controller


O que você vai ver:

  • Alterações na classe TabelaController para possibilitar a geração dos arquivos para o servidor Node


É necessário fazer o login no site para assistir este vídeo


Gerador Node


O que você vai ver:

  • Considerações sobre a classe GeradorNode, que é muito parecida com a que construímos para o os demais servidores


É necessário fazer o login no site para assistir este vídeo


Node Model


O que você vai ver:

  • Análise do template Node.Model.mustache
  • Análise da classe NodeModel que gera as classes de modelo para o Node


É necessário fazer o login no site para assistir este vídeo


Node Controller


O que você vai ver:

  • Análise do template Node.Controller.mustache
  • Análise da classe NodeController que gera a classe Controller para o Node


É necessário fazer o login no site para assistir este vídeo


Node Module


O que você vai ver:

  • Análise do template Node.Module.mustache
  • Análise da classe NodeModule que gera a classe Module para o Node


É necessário fazer o login no site para assistir este vídeo


Node Service


O que você vai ver:

  • Análise do template Node.Service.mustache
  • Análise da classe NodeService que gera a classe Service para o Node
  • Sugestões de exercícios


É necessário fazer o login no site para assistir este vídeo


PHP

O conjunto de vídeos abaixo tem por objetivo mostrar a implementação do gerador de código para gerar as classes para o servidor PHP.

Tabela Controller


O que você vai ver:

  • Alterações na classe TabelaController para possibilitar a geração dos arquivos para o servidor PHP


É necessário fazer o login no site para assistir este vídeo


Gerador PHP


O que você vai ver:

  • Considerações sobre a classe GeradorPHP, que é muito parecida com a que construímos para o os demais servidores


É necessário fazer o login no site para assistir este vídeo


PHP Model


O que você vai ver:

  • Análise do template PHP.Model.mustache
  • Análise da classe PHPModel que gera as classes de modelo para o PHP


É necessário fazer o login no site para assistir este vídeo


PHP Controller


O que você vai ver:

  • Análise do template PHP.Controller.mustache
  • Análise da classe PHPController que gera a classe Controller para o PHP


É necessário fazer o login no site para assistir este vídeo


PHP Service


O que você vai ver:

  • Análise do template PHP.Service.mustache
  • Análise da classe PHPService que gera a classe Service para o PHP
  • Sugestões de exercícios


É necessário fazer o login no site para assistir este vídeo


Flutter Parte 01

O conjunto de vídeos abaixo tem por objetivo mostrar a implementação do gerador de código para gerar as classes para a aplicação cliente feita com o Flutter.

Tabela Controller


O que você vai ver:

  • Alterações na classe TabelaController para possibilitar a geração dos arquivos para o cliente Flutter


É necessário fazer o login no site para assistir este vídeo


Gerador Flutter


O que você vai ver:

  • Considerações sobre a classe GeradorFlutter, que controla a geração dos demais arquivos com base nos seus respectivos templates


É necessário fazer o login no site para assistir este vídeo


Flutter Service


O que você vai ver:

  • Análise do template Flutter.Service.mustache
  • Análise da classe FlutterService que gera a classe Service para o Flutter


É necessário fazer o login no site para assistir este vídeo


Flutter ViewModel


O que você vai ver:

  • Análise do template Flutter.ViewModel.mustache
  • Análise da classe FlutterViewModel que gera as classes ViewModel para o Flutter


É necessário fazer o login no site para assistir este vídeo


Flutter Model 01


O que você vai ver:

  • Análise das classes de modelo do projeto Flutter
  • Análise do template Flutter.Model.mustache
  • Análise da classe FlutterModel que gera as classes de modelo para o Flutter - Parte 01


É necessário fazer o login no site para assistir este vídeo


Flutter Model 02


O que você vai ver:

  • Análise da classe FlutterModel que gera as classes de modelo para o Flutter - Parte 02


É necessário fazer o login no site para assistir este vídeo


Flutter Model 03


O que você vai ver:

  • Análise da classe FlutterModel que gera as classes de modelo para o Flutter - Parte 03


É necessário fazer o login no site para assistir este vídeo


Flutter View - ListaPage


O que você vai ver:

  • Análise do template Flutter.ListaPage.mustache
  • Análise da classe FlutterListaPage que gera a página ListaPage para o Flutter


É necessário fazer o login no site para assistir este vídeo


Flutter View - DetalhePage


O que você vai ver:

  • Análise do template Flutter.DetalhePage.mustache
  • Análise da classe FlutterDetalhePage que gera a página DetalhePage para o Flutter


É necessário fazer o login no site para assistir este vídeo


Flutter View - PersistePage


O que você vai ver:

  • Análise do template Flutter.PersistePage.mustache
  • Análise da classe FlutterPersistePage que gera a página PersistePage para o Flutter


É necessário fazer o login no site para assistir este vídeo


Flutter Parte 02

O conjunto de vídeos abaixo tem por objetivo mostrar a implementação do gerador de código para gerar as classes para a aplicação cliente feita com o Flutter. Essa segunda parte mostra como gerar as páginas mestre-detalhe.

Imports no Flutter


O que você vai ver:

  • Organização dos Imports através de Exports para não precisar enviar o Módulo para o gerador do Flutter


É necessário fazer o login no site para assistir este vídeo


Tabela Controller


O que você vai ver:

  • Alterações na classe TabelaController para possibilitar a geração dos arquivos para o cliente Flutter


É necessário fazer o login no site para assistir este vídeo


Gerador Flutter Abas


O que você vai ver:

  • Considerações sobre a classe GeradorFlutterAba, que controla a geração dos demais arquivos com base nos seus respectivos templates


É necessário fazer o login no site para assistir este vídeo


Flutter View - DetalheListaPage


O que você vai ver:

  • Análise do template Flutter.AbaDetalheListaPage.mustache
  • Análise da classe FlutterAbaDetalheListaPage


É necessário fazer o login no site para assistir este vídeo


Flutter View - DetalheDetalhePage


O que você vai ver:

  • Análise do template Flutter.AbaDetalheDetalhePage.mustache
  • Análise da classe FlutterAbaDetalheDetalhePage


É necessário fazer o login no site para assistir este vídeo


Flutter View - DetalhePersistePage


O que você vai ver:

  • Análise do template Flutter.AbaDetalhePersistePage.mustache
  • Análise da classe FlutterAbaDetalhePersistePage


É necessário fazer o login no site para assistir este vídeo


Flutter View - MestreListaPage


O que você vai ver:

  • Análise do template Flutter.AbaMestreListaPage.mustache
  • Análise da classe FlutterAbaMestreListaPage


É necessário fazer o login no site para assistir este vídeo


Flutter View - MestreDetalhePage


O que você vai ver:

  • Análise do template Flutter.AbaMestreDetalhePage.mustache
  • Análise da classe FlutterAbaMestreDetalhePage


É necessário fazer o login no site para assistir este vídeo


Flutter View - MestrePersistePage


O que você vai ver:

  • Análise do template Flutter.AbaMestrePersistePage.mustache
  • Análise da classe FlutterAbaMestrePersistePage


É necessário fazer o login no site para assistir este vídeo


Flutter View - MestrePersistePageOneToOne


O que você vai ver:

  • Análise do template Flutter.AbaMestrePersistePageOneToOne.mustache
  • Análise da classe FlutterAbaMestrePersistePageOneToOne


É necessário fazer o login no site para assistir este vídeo


Flutter View - MestrePage


O que você vai ver:

  • Análise do template Flutter.AbaMestrePage.mustache
  • Análise da classe FlutterAbaMestrePage


É necessário fazer o login no site para assistir este vídeo


Melhorias

Gerando Tudo


Essa vídeo aula mostra como o Gerador de Códigos foi alterado para gerar todas as classes para uma determinada linguagem para todas as tabelas do banco de dados.

É necessário fazer o login no site para assistir este vídeo


Alterações Financeiro

Alterações


Essa vídeo aula mostra algumas alterações, correções e melhorias por conta das telas do Bloco Financeiro.

É necessário fazer o login no site para assistir este vídeo


Versão 2.0


Apresentação da segunda versão do Gerador de Códigos. Chamamos de segunda versão porque ele dá um salto em relação à organização e não duplicidade no código.

Tabela Controller


Alterações na classe TabelaController para remover a duplicidade no código.

É necessário fazer o login no site para assistir este vídeo


Gerador Base


Parte do código dos geradores foi repassada para o Gerador Base para evitar a duplicidade no código.

É necessário fazer o login no site para assistir este vídeo


ComentarioJson


Alterações no ComentarioJson.

É necessário fazer o login no site para assistir este vídeo


Campos Model


Alterações na classe CamposModel para trazer mais legibilidade ao código e evitar duplicidade de código em algumas classes.

É necessário fazer o login no site para assistir este vídeo


Flutter


Comentários sobre as alterações realizadas nas classes Flutter que continham grande quantidade de código duplicado. As explicações são rápidas propositadamente. O aluno deve utilizar o KDiff3 para comparar o código atual com o código anterior e, no caso de dúvidas, utilizar o Trello para suporte.

É necessário fazer o login no site para assistir este vídeo


BUGs


Seguem alguns vídeos que mostram como corrigir certos BUGs do Gerador de Códigos.

Comentário sem Formato JSON


Este vídeo mostra como corrigir o problema quando o comentário no campo da tabela não contém um formato JSON válido.

É necessário fazer o login no site para assistir este vídeo