Relatório técnico

Visão Geral Técnica

Imagem padrão
Ouvir conteúdo
Clique para ouvir o texto completo

1.1 Arquitetura do Sistema

O Pregão CCMBR foi desenvolvido com PHP, PDO, MySQL e Bootstrap 5, utilizando um modelo de microsistemas para modularização, escalabilidade e manutenção facilitada.
Cada módulo é relativamente independente, mas integrado via banco de dados central e arquivos de configuração compartilhados.

Microsistemas principais identificados até o momento:

  • MODE-LOGIN-001: Login e autenticação.

  • MODE-CRUD-001: Operações CRUD (Create, Read, Update, Delete) gerais.

  • MODE-USUARIOS-001: Gestão de usuários.

  • MODE-PREGAO-001: Gestão de leilões de moedas e cédulas.


1.2 Estrutura de Pastas e Arquivos

Exemplo da organização atual:

config/

└── databaseNexa.php ← Configuração do banco de dados (usado por todo o sistema; **não alterar**)

pregao/ ← PASTA RAIZ DO PREGÃO

├── assets/

│ ├── css/

│ │ ├── estilo.css ← Estilos globais

│ │ └── moedas.css ← Estilos específicos do pregão de moedas

│ └── js/

│ ├── scripts.js ← Scripts globais

│ ├── moedas.js ← Scripts específicos de moedas

│ └── cedulas.js ← Scripts específicos de cédulas

├── moedas/

│ ├── includes/ ← Arquivos reutilizáveis e componentes do módulo de moedas

│ │ ├── header.php ← Cabeçalho reutilizável

│ │ ├── menu.php ← Menu principal

│ │ ├── footer.php ← Rodapé

│ │ ├── funcoes.php ← Funções utilitárias

│ │ ├── card_moeda.php ← Card de exibição de moedas no catálogo

│ │ ├── card_lances.php ← Card que exibe lances de cada moeda

│ │ ├── card_chat.php ← Card do chat do pregão

│ │ ├── card_info.php ← Card com informações adicionais da moeda

│ │ └── login_form.php ← Formulário de login para usuários

│ └── index.php ← Página principal do pregão de moedas

└── cedulas/

├── includes/ ← Arquivos reutilizáveis e componentes do módulo de cédulas

│ ├── header.php ← Cabeçalho reutilizável

│ ├── menu.php ← Menu principal

│ ├── footer.php ← Rodapé

│ ├── funcoes.php ← Funções utilitárias

│ ├── card_cedula.php ← Card de exibição de cédulas

│ ├── card_lances.php ← Card que exibe lances de cada cédula

│ ├── card_chat.php ← Card do chat do pregão

│ └── card_info.php ← Card com informações adicionais da cédula

└── index.php ← Página principal do pregão de cédulas
 
 
 
  • config/databaseNexa.php é compartilhado por todos os microsistemas; não deve ser alterado sem avaliação completa, pois impacta todo o sistema.

  • Pastas assets/css e assets/js contêm estilos e scripts gerais e específicos para moedas e cédulas.

  • Arquivos dentro de includes/ são componentes reutilizáveis, como cards, menus, chat e funções auxiliares.


1.3 Banco de Dados – Visão Geral

O banco de dados contém tabelas principais para suportar o pregão:

Tabelas mais relevantes:

  1. lista_pregao – fila de pregão, status, preço inicial e referências à peça.

  2. anuncios_moedas / anuncios_cedulas – informações e imagens das peças.

  3. lances – histórico de lances, usuário, valor, timestamp.

  4. usuarios – cadastro, permissões e saldo de créditos.

  5. configuracoes – parâmetros gerais do sistema.

Relacionamentos:

  • Cada registro em lista_pregao referencia uma peça em anuncios_moedas ou anuncios_cedulas.

  • A tabela lances referencia o usuário (usuarios.id) e a peça (lista_pregao.id / idMoeda ou idCedula).

  • Sistema projetado para integridade referencial, evitando lances duplicados ou peças sem registro.


1.4 Fluxo do Pregão (Técnico)

  1. O usuário acessa index.php do módulo de moedas ou cédulas.

  2. O sistema consulta lista_pregao para montar o catálogo ordenado pela fila.

  3. Cada card apresenta: imagens, código, lance inicial, histórico de lances e botão para Ficha Técnica.

  4. Lances são enviados via lance_antecipado.php e validados pelo backend:

    • Apenas valores maiores que o lance atual são aceitos.

    • Em caso de lance duplicado, o primeiro é aceito e o segundo rejeitado.

  5. Atualizações automáticas do catálogo são realizadas a cada 30 segundos via refresh do front-end, garantindo sincronização da fila.


1.5 Observações e Melhoria Técnica

  • Atualmente, Moedas e Cédulas são tratados em microsistemas separados, mas com lógica e estrutura muito semelhantes.

  • Sugestão: criar um módulo abstrato compartilhado para reduzir duplicação de código (cards, chat, ficha técnica).

  • Scripts JS podem ser modularizados com funções comuns para hover, atualização de fila e tooltips.

  • Futuro: IA leiloeira pode interagir com o chat, exigindo endpoints de API para envio e leitura de mensagens.

Tire suas dúvidas

Cecília Romani
Cecília Romani

Especialista em Numismática

Tire suas dúvidas com Cecília Romani sobre este capítulo pelo WhatsApp.

Falar com Cecília

Comentários

Área de comentários em breve...