Uma base de código com um núcleo comum e uma camada fina por marca por cima. Cada marca tem o seu design, os seus conteúdos, a sua base de dados e o seu domínio, enquanto correções de segurança, trabalho de desempenho e novas funcionalidades do núcleo chegam a todas ao mesmo tempo, sem cópia manual site a site. Acrescentar uma marca é configuração e conteúdo, não um fork.
O site e a aplicação móvel partilham o mesmo backend?
Sim, e de forma mais estrita do que a frase costuma significar. A API é definida uma vez em PHP e tanto o cliente TypeScript da web como o cliente Dart da aplicação são gerados a partir dessa definição. Nenhum é escrito à mão: o linter recusa um tipo de API escrito manualmente. Assim a aplicação não pode dessincronizar-se em silêncio — uma divergência parte a compilação, não a produção.
Os 18 idiomas são reais ou é tradução automática por cima?
Reais. Cada página existe como registo próprio por idioma, com texto e URL próprios — estas perguntas frequentes estão em /frequently-asked-questions em inglês e em /de/haeufig-gestellte-fragen em alemão, não atrás de um parâmetro de tradução. Assim cada idioma escreve-se como se procura mesmo nesse mercado e corrige-se um sem mexer nos outros dezassete.
Uma só plataforma consegue servir várias marcas sem se atrapalharem?
É para isso que foi construída. Cada marca tem a sua base de dados, o seu domínio e os seus conteúdos, pelo que uma marca não consegue ler os dados de outra e um erro de conteúdo numa não aparece na outra. O que é partilhado é o motor: o encaminhamento, a camada de API, as ferramentas de administração e o trabalho de segurança.
O Cannabivo está no ar: um motor de busca de clubes sociais, onde os visitantes encontram e comparam clubes por localização e os clubes gerem a sua própria ficha. O Steel é uma referência de equivalências de materiais dirigida à engenharia e às compras; está em desenvolvimento e ainda não é público. Ambos correm na plataforma descrita nesta secção.