JimSP / honeycomb

APIs para gerador de código baseado em templates configuráveis.
Apache License 2.0
1 stars 0 forks source link

Documentação #1

Open salespaulo opened 4 years ago

salespaulo commented 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.

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 :)

JimSP commented 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 = () => (

); export default App; Em ter., 2 de jun. de 2020 às 20:12, Paulo R. A. Sales < notifications@github.com> escreveu: > 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: > > - O que serão as Aplicações que esta ferramenta vai gerar, API > Restful, Admin de dados, etc.? > - O que serão estes Templates pré-configurados, serão contratos > básicos p/ a geração do código? > - Quais será o formato, pode ser o MVP, do Template? > > 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 :) > > — > You are receiving this because you are subscribed to this thread. > Reply to this email directly, view it on GitHub > , or unsubscribe > > . > [image: image.gif] > > > > > -- Alexandre Moraes 11 9.8943-0384
JimSP commented 4 years ago

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 } ] } }

JimSP commented 4 years ago

criei uma branch com código Java do que tenho em mente nesse momento. feature/exampleJava

JimSP commented 4 years ago

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 ... } ]