Gerador de Código
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
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
Flutter Bootstrap
Seguem alguns vídeos que mostram a adaptação do Gerador de Código para trabalhar com o Flutter Bootstrap.
Documento Objeto JSON e NinjaMock
Atualização no Documento do Objeto JSON e Utilização do NinjaMock.
É necessário fazer o login no site para assistir este vídeo