O Desafio
A RoSPORT importa bicicletas, peças e equipamento desportivo e vende-os a partir do seu próprio armazém — a retalho para ciclistas em toda a Ucrânia, e por grosso para lojas e oficinas de reparação. O site antigo não aguentava um catálogo desta dimensão, e os parceiros grossistas não tinham onde ver os seus preços próprios, por isso os dois canais eram geridos de forma quase manual.
O Que Foi Feito
1. Um storefront headless para dois tipos de comprador
Construímos o novo storefront em Next.js sobre Medusa.js: catálogo com filtros facetados (marca, tamanho de roda, tipo de travão, material do quadro, faixa etária), pesquisa por nome, marca ou SKU, guest checkout, wishlist, comparação, avaliações, compra num clique e cross-sell. Duas localizações totalmente traduzidas (uk/ru) cobrem conteúdo, nomes de categorias e metadados com hreflang correto — uma segunda língua real para o mercado ucraniano, não uma versão traduzida automaticamente. Uma vertente grossista corre em paralelo com o retalho: preços próprios por parceiro, gestor de conta dedicado, pagamento a prazo e um fluxo de candidatura.
2. Uma migração que manteve a pegada de pesquisa intacta
A loja mudou de motor mantendo a estrutura de URLs antiga, pelo que cerca de 13 000 URLs de produto e os slugs de categoria antigos continuam a resolver-se. Um índice de sitemaps dinâmico (um mapa principal mais seis mapas de produtos, com lastmod atualizado diariamente), canonicals e hreflang em cada página, e dados estruturados Product/Offer/BreadcrumbList nas páginas de produto mantêm um catálogo desta escala indexável.
3. Um backoffice que a equipa do cliente gere sozinha
Os dois canais de venda operam a partir de um único backoffice: módulos para editar páginas, menus, filtros e templates de notificação, mais um módulo de exportação que gera um feed ao vivo para o Google Merchant Center e variantes protegidas por chave para outros canais. No mesmo login estão um conversor de moeda para compras a fornecedores estrangeiros, uma integração com o sistema de contabilidade do cliente, uma gateway de SMS e um bot de Telegram que avisa os gestores de novas encomendas.
O Resultado
Os dois canais de venda passaram a operar a partir de um único backoffice em vez de dois fluxos separados.
- Merchandising, categorias, filtros e textos de notificação ficaram em regime self-serve — sem programador no processo.
- Os feeds de produto saem automaticamente para o Google Merchant Center e outros canais.
- O catálogo tem espaço para crescer além dos atuais 13 000 artigos sem a plataforma ser o limite.
Stack técnico: Next.js App Router com next-intl no front-end, Medusa.js dividido em serviços admin e worker, PostgreSQL e Redis por baixo, media no Cloudflare R2. Checkout ligado à Nova Poshta (transportadora ucraniana — balcão, cacifo, estafeta), LiqPay, pagamento à cobrança e fatura para empresas; analytics em GA4.
