Open salespaulo opened 4 years ago
Vamos escrever uma documentação da proposta aqui, e vamos considerar outra tecnologia que não seja Java e Spring, pois é bem mais verbosa, estou tendo experiências ótimas utilizando NodeJs.
Particularmente não vejo muito problema, mas seria interessante conseguirmos gerar código para mais de uma linguagem, inclusive Java+Spring.Uma ressalva, não vou conseguir codar muito se utilizarmos NodeJs.
Devemos ter opções pré-configuradas que podem ser escolhidas segundos esteriótipos.
Por exemplo, crud-restful, crud-cli, file-loader-db, db-extract-file, rest-integration, data-validation, login, log entre outros.A ideia é conseguir combinar essas diferentes "features".
Foi o que pensei, são abstrações de esteriótipos comuns no desenvolvimento de software.
Criação de uma API onde posso informar um contrato, nome do projeto, nome do namespace, um tipo de banco de dados e obter um crud funcional, que de forma simples e guiada eu possa configurar um banco de dados e executando um script consigo subir um docker.
import React from 'react';import { Admin, Resource, ListGuesser } from 'react-admin';import simpleRestProvider from 'ra-data-simple-rest'; const dataProvider = simpleRestProvider('https://domain.tld/api'); const App = () => (
Pensei em algo assim:
{ "namespace":"br.com.honeycomb", "projectName":"honeycomb", "projectType":"Gradle", "language":"Java", "contractData":[ { "name":"MeuComponente", "atributes":[ { "type":"String", "typeName":null, "name":"Nome" } ] } ], "components":{ "name":"MinhaAPI", "parent":"Rest", "childrens":[ { "name":"MeuRepositorio", "parent":"Repository", "childrens":null } ] } }
criei uma branch com código Java do que tenho em mente nesse momento. feature/exampleJava
Seria bem legal termos em mente a ideia de agregar comportamentos a atributos ou tipos, por exemplo uma validação, uma regra, um criptografia...
"atributes":[ { "type":"String", "typeName":null, "name":"Nome" "withValidation": true "regex": "exemplo de regex para validação", "excludeLog": true, "withEncryption": true ... } ]
Vamos escrever uma documentação da proposta aqui, e vamos considerar outra tecnologia que não seja Java e Spring, pois é bem mais verbosa, estou tendo experiências ótimas utilizando NodeJs.
Mas vamos aos primeiros passos de nossa documentação, segue algumas perguntas a serem respondidas:
Algumas ferramentas que achei bem legal, geradores de código ReactJS, mas que utilizei pra implementar admins, segue:
https://marmelab.com/react-admin/
Abraços :)