Categorygithub.com/Chris-cez/BaseShopSystem
repositorypackage
0.0.0-20241202190305-e79046fc5da0
Repository: https://github.com/chris-cez/baseshopsystem.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# README

Sistema de vendas base

Versão básica e open-source do código usado na criação de um sistema de uma loja real. A versão completa com os dados especificos do projeto será criada e vendida de forma privada. Este documento descreve a estrutura de dados utilizada para representar uma Nota Fiscal Eletrônica (NF-e) em um sistema de vendas.

Tabelas do Banco de Dados

A estrutura é baseada em múltiplas tabelas relacionadas para garantir a integridade e eficiência dos dados. Pensada para posteriormente ser usada com GORM.

1. Empresa (Dados da Empresa - Hardcoded)

CampoTipo de DadoDescrição
NomestringNome da empresa
CNPJstringNúmero do CNPJ da empresa
InscricaoEstadualstringInscrição Estadual da empresa

2. Endereco (Dados de Endereço)

CampoTipo de DadoDescrição
IDuintChave primária
LogradourostringRua, Avenida, etc.
NumerostringNúmero do endereço
ComplementostringComplemento do endereço
BairrostringBairro
MunicipiostringMunicípio
UFstringUnidade Federativa
CEPstringCódigo de Endereçamento Postal

3. Cliente (Dados do Cliente)

CampoTipo de DadoDescrição
IDuintChave primária
NomestringNome do cliente
CPFstringCPF do cliente (ou CNPJ)
CNPJstringCNPJ do cliente (pode ser nulo)
EnderecoIDuintChave estrangeira (Endereco.ID)
TelefonestringTelefone do cliente
EmailstringEmail do cliente

4. ClasseProduto (Classificação do Produto)

CampoTipo de DadoDescrição
IDuintChave primária
NomestringNome da classe do produto
DescricaostringDescrição da classe do produto
NCMstringCódigo NCM da classe do produto
Tributacoes[]TributacaoArray de tributações aplicadas à classe do produto

5. Produto (Dados do Produto)

CampoTipo de DadoDescrição
IDuintChave primária
NomestringNome do produto
DescricaostringDescrição do produto
ClasseProdutoIDuintChave estrangeira (ClasseProduto.ID)
ValorUnitariofloat64Valor unitário do produto
UnidadestringUnidade de medida (ex: UN, KG, M)
EstoqueintQuantidade em estoque

6. Tributacao (Dados de Tributação)

CampoTipo de DadoDescrição
IDuintChave primária
NomestringNome do tributo (ex: ICMS, IPI, PIS, COFINS)
Aliquotafloat64Alíquota do tributo
TipoTributostringTipo de tributo

7. ItemNotaFiscal (Itens da Nota Fiscal)

CampoTipo de DadoDescrição
IDuintChave primária
NotaFiscalIDuintChave estrangeira (NotaFiscal.ID)
ProdutoIDuintChave estrangeira (Produto.ID)
Quantidadefloat64Quantidade do produto
ValorUnitariofloat64Valor unitário do produto na nota
ValorTotalfloat64Valor total do item (Quantidade * ValorUnitario)

8. NotaFiscal (Dados da Nota Fiscal)

CampoTipo de DadoDescrição
IDgorm.ModelChave primária (GORM)
NumerostringNúmero da NF-e
ClienteIDuintChave estrangeira (Cliente.ID)
Items[]ItemNotaFiscalArray de itens da nota fiscal
ValorTotalfloat64Valor total da nota fiscal
FormaPagamentoIDuintChave estrangeira (FormaPagamento.ID)
Descontofloat64Valor do desconto aplicado
ObservacaostringObservações adicionais
ChaveAcessostringChave de acesso da NF-e (após autorização)

9. FormaPagamento (Formas de Pagamento)

CampoTipo de DadoDescrição
IDuintChave primária
NomestringNome da forma de pagamento (ex: Dinheiro, Cartão)

Este é um resumo. Uma NF-e real contém muitos mais detalhes e campos específicos dependendo da legislação e do tipo de operação.