cecon-interfaces
v2.0.51
Published
Interfaces de Projetos Cecon
Downloads
14,085
Readme
Cecon Interfaces
Biblioteca TypeScript contendo interfaces e tipos para os projetos do ecossistema Cecon. Este pacote fornece definições de tipos reutilizáveis para garantir consistência e type safety em todos os serviços e aplicações.
📦 Instalação
npm install cecon-interfacesou
yarn add cecon-interfaces🚀 Uso Básico
import {
ICompany,
IUser,
IOrder,
INotification
} from 'cecon-interfaces';
// Exemplo de uso das interfaces
const company: ICompany = {
id: '123',
name: 'Minha Empresa',
// ... outras propriedades
};
const user: IUser = {
id: '456',
email: '[email protected]',
// ... outras propriedades
};📁 Estrutura do Projeto
Este pacote contém interfaces organizadas por domínios:
🏢 Negócio e Gestão
company- Interfaces para empresas e configurações corporativascustomer- Definições para clientes e membrosmember- Gestão de membros e acessosplan- Planos e assinaturassubscription-*- Diferentes tipos de assinaturas
💰 Pagamentos e Financeiro
billing- Faturamento e cobrançainvoice- Faturas e documentos fiscaistransaction- Transações financeirasmercado-pago- Integração Mercado Pagoiugu- Integração Iugupayio- Integração PayIOfirebank- Integração Firebankbinance- Integração Binance
📦 Pedidos e Produtos
order- Pedidos e gestão de vendasproduct-*- Produtos globais, por empresa e containerscontainer- Containers de produtosrequested-items- Itens solicitados
🛍️ Integrações de Marketplace
ifood- Integração iFoodmeli- Integração Mercado Livredesenfila-*- Integração Desenfila
📱 Comunicação e Notificações
notification- Sistema de notificaçõeswa-server- Servidor WhatsAppevolution- Integração Evolution APIfcm-token-message- Firebase Cloud Messaging
🔧 Infraestrutura e Utilitários
app- Configurações de aplicaçãomachine- Dispositivos e instalaçõesstorage-files- Arquivos e armazenamentomonitor- Monitoramento e logspubsub- Sistema de mensageria
🔐 Autenticação e Segurança
token- Tokens de acessojwt-token- JSON Web Tokensverifier-token- Verificação de tokensmember-access- Controle de acesso
🌐 APIs Externas
viacep- Integração ViaCEPbluesoft- Integração Bluesoftn8n- Automação N8Nmobyo- Integração Mobyo
💻 Desenvolvimento
Pré-requisitos
- Node.js >= 16
- npm ou yarn
Scripts Disponíveis
# Compilar o pacote
npm run packagr
# Build TypeScript
npm run build
# Deploy completo (packagr + build + publish)
npm run deploy
# Limpar arquivos de distribuição
npm run clean-dist🔄 Workflow de Publicação
Atualizar versão: Sempre altere a versão no
package.jsonantes de publicar# Exemplo: de "2.0.1" para "2.0.2"Compilar e publicar:
npm run deployOu executar os comandos individualmente:
npm run packagr npm run build npm publishCommit e push: Não esqueça de fazer commit das alterações
git add . git commit -m "chore: bump version to x.x.x" git push origin develop
📖 Exemplos de Uso
Trabalhando com Empresas
import { ICompany, ICompanyContact } from 'cecon-interfaces';
const empresa: ICompany = {
id: 'comp_123',
name: 'Tech Solutions LTDA',
document: '12.345.678/0001-90',
// ... outras propriedades
};
const contato: ICompanyContact = {
id: 'contact_456',
companyId: 'comp_123',
email: '[email protected]',
phone: '+55 11 99999-9999'
};Gerenciando Pedidos
import { IOrder, OrderStatus } from 'cecon-interfaces';
const pedido: IOrder = {
id: 'order_789',
customerId: 'customer_123',
status: OrderStatus.PENDING,
items: [
{
productId: 'prod_456',
quantity: 2,
price: 29.90
}
],
total: 59.80,
createdAt: new Date()
};Integrações de Pagamento
import { IMercadoPagoPayment, IIuguInvoice } from 'cecon-interfaces';
// Mercado Pago
const pagamentoMP: IMercadoPagoPayment = {
id: 'mp_payment_123',
status: 'approved',
amount: 100.00,
// ... outras propriedades
};
// Iugu
const faturaIugu: IIuguInvoice = {
id: 'iugu_inv_456',
status: 'paid',
total_cents: 10000,
// ... outras propriedades
};🤝 Contribuindo
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-interface) - Commit suas mudanças (
git commit -am 'Add: nova interface para XYZ') - Push para a branch (
git push origin feature/nova-interface) - Abra um Pull Request
Convenções
- Use interfaces com prefixo
I(ex:IUser,ICompany) - Organize por domínios em pastas separadas
- Mantenha consistência com os tipos existentes
- Documente interfaces complexas com JSDoc
📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
👨💻 Autor
Mark Cecon
- GitHub: @markcecon
- Email: contato através do GitHub
🐛 Reportar Bugs
Encontrou um bug? Abra uma issue no GitHub.
📈 Changelog
v2.0.1
- Versão atual com todas as interfaces principais
- Suporte completo para TypeScript
- Integração com principais APIs do ecossistema
⭐ Se este projeto te ajudou, considere dar uma estrela no GitHub!
