← Voltar aos projetos Aplicação Web · Automóvel

Car Market Node.js

Um mercado de veículos com pesquisa, filtros e anúncios detalhados.

Car Market Node.js
PROJETO

O projeto

O Car Market é uma aplicação web construída em torno de um catálogo de veículos, com capacidades de pesquisa, filtragem e páginas detalhadas para cada veículo. Demonstra uma arquitetura moderna com design responsivo e navegação intuitiva.

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 ↗