Skip to content

About

Framework simples para aplicações Full-Stack em Node-js

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

FormulateJS

Framework simples para aplicações Full-Stack em Node.js. O objetivo do FormulateJS é acelerar o desenvolvimento de CRUDs, relatórios, API's e interfaces dinâmicas a partir da estrutura do banco de dados.

🚀 Instalação

npm install formulatejs
npx create-formulatejs

Esse comando npx create-formulatejs prepara a estrutura inicial da aplicação com pastas e arquivos padrões.

📦 Funcionalidades

Nome Descrição
MailSender Envia e-mails utilizando nodemailer com configuração personalizada.
DateFormatter Utilitários para formatação de datas e horas.
Report Cria botões e estruturas de relatório dinâmico.
DocumentFormatter Formata documentos como CPF, CNPJ, RG, CNH, telefone e celular.
CurrencyFormatter Formata valores monetários (R$, $, €) com casas decimais e separadores.
ActionButtons Cria botões de ação (editar, excluir, visualizar) com estilização.
LoadReport Carrega relatórios dinamicamente via URL e parâmetros.
TableActions Gera ações interativas sobre tabelas HTML (clicks, botões, etc.).
FormGenerator Gera formulários HTML com base em metadados do banco de dados (genérico).
FormGeneratorMySQL Gera formulários a partir da estrutura de tabelas do MySQL.
FormGeneratorMSSQL Gera formulários a partir da estrutura de tabelas MSSQL.
FormGeneratorSQLite Gera formulários a partir da estrutura de tabelas SQLite.
MakeaFormsDB Cria arquivos de configuração com campos e botões para cada tabela do banco.
makeFormView Gera HTML de visualização de formulário.
saveHTMLView Salva o HTML gerado do formulário no sistema de arquivos.
MakeaTableDB Cria arquivos de configuração para tabelas.
makeTableView Gera HTML de visualização de tabela.
saveHTMLTableView Salva a visualização HTML de uma tabela.

📁 Exemplos de uso

MailSender

const { MailSender } = require('formulatejs');
const mailer = new MailSender({ host: 'smtp.exemplo.com', port: 587, secure: false, auth: { user: 'user', pass: 'pass' } });
await mailer.sendMail({ to: 'alguem@exemplo.com', subject: 'Assunto', text: 'Mensagem' });

DateFormatter

const { DateFormatter } = require('formulatejs');
console.log(DateFormatter.format('2024-12-25')); // 25/12/2024

Report

const { Report } = require('formulatejs');
const html = Report.createButton('Exportar', '/export');

DocumentFormatter

const { DocumentFormatter } = require('formulatejs');
console.log(DocumentFormatter.formatCPF('12345678901'));

CurrencyFormatter

const { CurrencyFormatter } = require('formulatejs');
console.log(CurrencyFormatter.format(1234.56)); // R$ 1.234,56

ActionButtons

const { ActionButtons } = require('formulatejs');
const html = ActionButtons.generate('editar', 1);

LoadReport

const { LoadReport } = require('formulatejs');
LoadReport('/api/relatorio', { filtro: 'ativo' });

TableActions

const { TableActions } = require('formulatejs');
TableActions.attachListeners('minhaTabela');

FormGenerator

const { FormGenerator } = require('formulatejs');
FormGenerator.generateFromMetadata({ table: 'usuarios', fields: ['nome', 'email'] });

FormGeneratorMySQL

const { FormGeneratorMySQL } = require('formulatejs');
const formGen = new FormGeneratorMySQL({ host: 'localhost', user: 'root', database: 'app' });
formGen.generateForm('clientes').then(console.log);

FormGeneratorMSSQL

const { FormGeneratorMSSQL } = require('formulatejs');
const formGen = new FormGeneratorMSSQL({ user: 'sa', password: 'pass', server: 'localhost', database: 'app' });
formGen.generateForm('produtos').then(console.log);

FormGeneratorSQLite

const { FormGeneratorSQLite } = require('formulatejs');
const formGen = new FormGeneratorSQLite('./app.db');
formGen.generateForm('usuarios').then(console.log);

MakeaFormsDB

const { MakeaFormsDB } = require('formulatejs');
const maker = new MakeaFormsDB();
maker.create('clientes', ['nome', 'email']);

makeFormView e saveHTMLView

const { makeFormView, saveHTMLView } = require('formulatejs');
const html = makeFormView({ nome: 'Nome' });
saveHTMLView('form-clientes.html', html);

MakeaTableDB

const { MakeaTableDB } = require('formulatejs');
const tableMaker = new MakeaTableDB();
tableMaker.create('clientes', ['nome', 'email']);

makeTableView e saveHTMLTableView

const { makeTableView, saveHTMLTableView } = require('formulatejs');
const html = makeTableView([{ nome: 'João' }, { nome: 'Maria' }]);
saveHTMLTableView('clientes.html', html);

🤝 Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.

📄 Licença

Este projeto está licenciado sob a Licença MIT.

About

Framework simples para aplicações Full-Stack em Node-js

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages