COMPRASWEB — Visão técnica
Arquitetura em três camadas: apresentação, regras de negócio e dados. Um portal de compras baseado em padrões modernos e documentação automatizada.
Projeto Athena (MVP)
API REST documentada
Frontend moderno
Banco relacional
Aberto a opiniões
1Arquitetura em 3 camadas
O frontend entrega páginas dinâmicas no servidor e consome uma API REST com documentação automática, que por sua vez acessa o banco relacional.
Apresentação
Frontend renderizado no servidor
React moderno com App Router e Server Components;
TypeScript para segurança de tipos;
Validação de formulários no servidor;
HTML renderizado no servidor (SEO e performance).
→
API / Regras de negócio
API REST
SQLAlchemy (ORM) + Pydantic (schemas);
Camadas: rotas → serviços → repositórios;
Auth JWT/OAuth2; documentação automática em /docs;
autenticação de e-mail (SMTP) e criação de tabelas no boot.
→
Dados
Banco relacional
PostgreSQL (banco relacional);
Modelos: usuários, fornecedores, vagas, pedidos de apoio, aceites legais, códigos de verificação, recuperação de senha, rate limit e conteúdos;
integridade e consultas nativas.
Integrações externas (conceito): e-mail transacional via SMTP (envio de códigos), checagem de senhas em bases de vazamento (fail-open) e consulta de CEP para agilizar cadastros.
2Quatro perfis, quatro jornadas
Cada perfil tem cadastro com regras próprias e permissões servidas pela API.
Comprador
- Cadastro com verificação de e-mail
- Aceites legais obrigatórios
- Publica pedidos de apoio à comunidade
- Busca fornecedores e consulta vagas
Fornecedor
- Cadastro com dados da empresa
- CEP preenche automaticamente cidade/UF
- Perfil incluído na busca pública
- Moderação pelo painel administrativo
Empresa de RH / Recrutador
- Cadastro como empresa de recrutamento
- Publica vagas do segmento de compras
- Controle de contato visível
- Acompanha as próprias vagas publicadas
Administrador
- Painel com visão geral (usuários, fornecedores, pendências)
- Aprova e reprova cadastros
- Gestão de usuários, vagas e conteúdos
- Edição e exclusão de conteúdos do portal
3O que o portal entrega
Páginas públicas para visitantes e painel administrativo para gestão.
Cadastro por perfil
Formulários específicos para comprador, fornecedor e RH, com proteção contra bots.
Verificação de e-mail
Código OTP enviado por e-mail; sem e-mail verificado não há acesso.
Busca de fornecedores
Procura e filtros sobre a base de fornecedores cadastrados.
Vagas de compras
Publicação por RH com busca por cargo, empresa e cidade.
Apoio à comunidade
Pedidos de ajuda entre compradores, com gestão das próprias solicitações.
Conteúdo editorial
Novidades, artigos, ferramentas, templates e cursos do segmento de compras.
Aceite legal rastreável
Registro de aceite com data/hora, IP e sessão para cada documento.
Recuperação de senha
Fluxo por código de validação com validade e limite de tentativas.
4Postura de segurança
Medidas aplicadas no backend, sem dependências externas de segurança.
Sessão: token em cookie httpOnlyToken assinado com expiração configurável e SameSite Lax.
Códigos armazenados como hashOTP e códigos de recuperação guardados apenas como hash; nunca em texto puro.
Limite de tentativasRate limiting por IP/e-mail em cadastro, login, verificação de código e reenvio.
Checagem de senha vazadaConsulta a bases de vazamento (k-anonimato) com fail-open.
Validação de entradaSchemas tipados e validação no servidor em todos os formulários.
Aceite e consentimentoRegistro rastreável de aceites legais por versão, IP e sessão.
O que eu quero ouvir de você
- Experiência do usuário: o fluxo de cadastro por perfil e a jornada do comprador fazem sentido?
- Regras de negócio: os limites de vagas e solicitações, a moderação dos fornecedores e os aceites legais parecem equilibrados?
- Validações: as regras de preenchimento ajudam ou atrapalham os usuários?
- Produto: o que falta para o portal ser útil de verdade — busca, mensageria, negociação, painel do fornecedor?
- Operação: o que priorizar para produção: e-mail transacional real, deploy em nuvem ou testes automatizados?
Projeto Athena · Portal ComprasWeb
Conceito macro · detalhes de infraestrutura não divulgados nesta página