Arquitetura de Sistema & Pilares Fundamentais
O Car Market alia uma API REST desacoplada em Node.js e Express a uma Single Page Application ultrarrápida em React (Vite), proporcionando pesquisas filtradas em menos de um segundo e processos de venda fluidos.
┌─────────────────────────────────────────────────────────────────────────────┐
│ Car Market Full-Stack Architecture │
└──────────────────────────────────────┬──────────────────────────────────────┘
│
┌───────────────────────────┼───────────────────────────┐
▼ ▼ ▼
🔍 Motor de Busca Inteligente 📸 Hub de Media & Painel do Vendedor 🛡️ Segurança, Moderação & RGPD
• Sliders vinculados à Base de Dados • Arrastar e largar até 15 fotografias • Fila de aprovação de anúncios
• Seleção em cascata Marca ➔ Modelo • Seleção de foto de capa SortableJS • Inspeção completa do anúncio
• Prevenção de páginas sem resultados • Conversão automática para WebP (Sharp) • RGPD Artigos 17 e 20
• Contagem de stock em tempo real • Integração de vídeos YouTube & Shorts • Segurança com JWT & Bcrypt
Descoberta em Tempo Real
Filtragem multicritério assíncrona e instantânea sem recarregar a página.
Otimização Automatizada
Carregamento múltiplo de imagens com ordenação por arrastar e largar e compressão WebP no servidor.
Conformidade com o RGPD Europeu
Exportação de dados em JSON num só clique e eliminação física definitiva de contas e ficheiros do servidor.
1. Motor de Busca Inteligente & Filtros Dinâmicos
O motor de busca calcula dinamicamente os seus limites a partir da base de dados MySQL para evitar pesquisas sem resultados:
- Sliders duplos vinculados à BD (rc-slider): Os seletores de Preço, Quilometragem e Ano adaptam-se automaticamente aos valores mínimos e máximos reais presentes no inventário.
- Menus suspensos em cascata Marca ➔ Modelo:
- Sem resultados vazios: O menu pendente apenas apresenta marcas e modelos que tenham pelo menos uma viatura aprovada em stock.
- Indicadores de contagem em direto: Contador em tempo real do número de veículos disponíveis junto de cada opção (ex.: Renault (4) ➔ Clio V (2)).
- Filtros de atributos técnicos: Filtros por categoria de veículo (Ligeiros, Motos, Comerciais), carroçaria (Sedan, SUV, Carrinha, Coupé, etc.), combustível e caixa de velocidades.
- Ordenação Assíncrona: Ordenação imediata por data de publicação, preço ascendente/descendente, quilometragem ou ano.
2. Ficha Técnica Detalhada & Experiência Multimédia
A página detalhada da viatura (/vehicule/:slugOrId) está estruturada num layout de 2 colunas focado na conversão:
Galeria Multimédia Interativa
Integração de vídeos do YouTube e Shorts na primeira posição do carrossel, seguidos de fotografias WebP em alta resolução.
Grelha de Especificações Técnicas
Cilindrada (cm³), potência (cv), consumos, norma ambiental (Euro 1 a Euro 7), número de chassis VIN, portas e lotação.
Contacto Direto com o Vendedor
Formatação internacional do número de telefone com ligação direta tel: e formulário de mensagem associado ao veículo.
3. Publicação de Anúncios & Processamento de Imagens
O Car Market disponibiliza a vendedores particulares e profissionais ferramentas intuitivas e de elevado rendimento:
- Taxonomia Automóvel Completa (120 Marcas & 1.890+ Modelos): Catálogo exaustivo disponível durante a criação do anúncio para uma categorização precisa.
- Validação Prévia do Perfil: A publicação é bloqueada até que o vendedor preencha todos os dados de perfil (nome, apelido, telefone verificado).
- Reordenação de Fotos por Arrastar (SortableJS): Envio simultâneo de até 15 fotografias com função de arrastar e largar para definir a imagem principal ⭐ Capa.
- Conversão Automática em WebP (Sharp): Conversão no servidor para o formato moderno .webp a 80% de compressão com correção de orientação EXIF.
- Painel « Os Meus Anúncios »: Painel de controlo completo com separadores de estado (Todos, Online, Em revisão), edição direta e eliminação.
4. Controlo de Qualidade & Moderação Administrativa
Para assegurar a autenticidade e evitar fraudes, a plataforma integra um circuito de moderação administrativa:
Fila de Moderação
Os anúncios submetidos pelos utilizadores permanecem em estado pendente até serem validados por um administrador.
Vista de Inspeção Completa
Página dedicada (/admin/vehicule/:id) para ampliar fotografias, verificar o VIN e inspecionar as informações do vendedor.
Ações num Clique
Endpoints seguros para aprovar e publicar, desativar ou editar diretamente os anúncios.
5. Segurança Empresarial & Conformidade com o RGPD
O Car Market cumpre escrupulosamente as normas do Regulamento Geral sobre a Proteção de Dados (RGPD UE 2016/679):
- Autenticação Stateless com JWT: Tokens de segurança Bearer com hashing de palavras-passe via Bcrypt (mínimo de 8 carateres, maiúsculas, minúsculas, dígitos e símbolos).
- Portabilidade de Dados (Artigo 20.º do RGPD): Transferência estruturada em JSON num só clique de todos os dados de perfil e do histórico de anúncios da conta.
- Direito ao Apagamento (Artigo 17.º do RGPD): Eliminação definitiva da conta que remove os dados da base de dados e apaga fisicamente todas as fotos do servidor.
6. Matriz de Funcionalidades Técnicas
| Funcionalidade |
Implementação Técnica |
Vantagem SEO & Desempenho |
| Sliders Dinâmicos |
rc-slider + Prisma DB Aggregations |
Elevado Envolvimento Filtragem instantânea sem recarregamento da página |
| Cascata Inteligente |
Prisma vehicles: { some: { isApproved: true } } |
Conteúdo Qualificado Evita a indexação de páginas de pesquisa sem resultados |
| Otimização de Imagens |
Sharp Node.js library to WebP 80% |
Core Web Vitals Carregamento imediato do First Contentful Paint (FCP) |
| Integração de Vídeos |
Responsive 16:9 YouTube iframe embeds |
Tempo na Página Aumenta o tempo médio de permanência dos utilizadores |
| Slugs de URLs |
slugify with unique ID suffixes |
Indexação SEO URLs semânticos ricos em palavras-chave para motores de busca |
| Segurança & Privacidade |
JWT Tokens + Bcrypt + GDPR Art. 17 & 20 |
Conformidade RGPD Cumprimento rigoroso do quadro regulamentar europeu |
Explorar a Plataforma em Direto
Experimente os filtros de pesquisa, a gestão de anúncios e a interface responsiva em tempo real.
Visitar a Aplicação em Direto ↗