---
title: "Gerador de sites e-commerce com CMS de personalização (alias MyEasyWeb)"
description: "Plataforma SaaS multi-tenant gerando sites e-commerce personalizados para 400+ revendedores no mercado europeu de produtos promocionais - 108K linhas de codigo, 7 idiomas, 32 moedas, 1.506 commits em ~3 anos."
locale: "pt"
canonical: "https://portfolio.josedacosta.net/pt/realizacoes/generateur-sites-ecommerce-avec-cms"
source: "https://portfolio.josedacosta.net/pt/realizacoes/generateur-sites-ecommerce-avec-cms.md"
html_source: "https://portfolio.josedacosta.net/pt/realizacoes/generateur-sites-ecommerce-avec-cms"
author: "José DA COSTA"
date: "2012"
type: "achievement"
slug: "generateur-sites-ecommerce-avec-cms"
tags: ["PHP 5.3+", "Symfony 2.4", "Symfony 3.1", "Silex 2.0", "MySQL", "Doctrine ORM", "Apache Solr", "ElasticSearch", "Memcached", "Twig", "Amazon SES", "jQuery", "REST API (FOS)"]
generated_at: "2026-06-02T15:37:03.789Z"
---

# Gerador de sites e-commerce com CMS de personalização (alias MyEasyWeb)

Plataforma SaaS multi-tenant gerando sites e-commerce personalizados para 400+ revendedores no mercado europeu de produtos promocionais - 108K linhas de codigo, 7 idiomas, 32 moedas, 1.506 commits em ~3 anos.

**Data:** 2013 - 2016  
**Duração:** ~3 anos  
**Função:** Senior Software Engineer  
**Tecnologias:** PHP 5.3+, Symfony 2.4, Symfony 3.1, Silex 2.0, MySQL, Doctrine ORM, Apache Solr, ElasticSearch, Memcached, Twig, Amazon SES, jQuery, REST API (FOS)

### Indicadores-chave

- Linhas de codigo: **-** - PHP, CSS, JS, Twig em 3 aplicacoes
- Sites clientes: **-** - Sites de revendedores ativos com dominios proprios
- Idiomas: **-** - FR, EN, ES, DE, IT, NL, PT
- Moedas: **-** - Taxas de cambio BCE, atualizacao automatica

## Visao geral do projeto

_O que e o MyEasyWeb e por que ele existe_

### Tres aplicacoes interconectadas

### myeasyweb.net

Aplicacao principal: front catalogo publico + back-office do revendedor (Symfony 2.4)

### bo.myeasyweb.pro

Back-office de administracao interna para a equipe European Sourcing (Symfony 3.1)

### Site vitrine e motor de busca de produtos (Silex 2.0)

### Funcionalidades do back-office

- MyEasyWeb e uma **plataforma SaaS multi-tenant** que gera sites e-commerce white-label para revendedores de produtos promocionais. Desenvolvida pela **Medialeads** para a **European Sourcing**, lider europeia em bancos de dados de produtos promocionais, a plataforma permite que cada revendedor (distribuidor) tenha seu proprio site personalizado - com seu logo, cores, dominio e catalogo configurado - alimentado automaticamente pelo banco de dados centralizado da European Sourcing com mais de **520.000 produtos** de 800+ fornecedores.
- O sistema e composto por **tres aplicacoes distintas**: o front-end principal e back-office do revendedor (myeasyweb.net, Symfony 2.4), um back-office de administracao interna para a equipe European Sourcing (bo.myeasyweb.pro, Symfony 3.1), e um site vitrine/motor de busca de produtos (myeasyweb.pro, Silex 2.0). Cada site de revendedor e identificado pelo seu dominio, e a aplicacao carrega dinamicamente a configuracao correspondente (tema, idiomas, fornecedores, margens) em cada requisicao.

- Dashboard com pedidos recentes, contatos, produtos e estatisticas de newsletter
- Personalizacao completa do site: temas, cores, fontes, logos, imagens de cabecalho, CSS customizado
- Catalogo de produtos com busca full-text Solr/ElasticSearch e filtragem por fornecedor
- Sistema de orcamentos online com valores minimos configuraveis e notificacoes por email (Amazon SES)
- Sistema publicitario completo: slideshows, banners, skyscrapers, anuncios por categoria
- Paineis de estatisticas: orcamentos, contatos, visualizacoes de produtos, buscas
- Páginas corporativas, menus personalizados e módulo de downloads para conteúdo editorial livre
- SEO avançado: categorias SEO personalizadas, metadados, sitemap XML e integração Google Analytics
- Internacionalização: 7 idiomas (FR, EN, ES, DE, IT, NL, PT) e 32 moedas com taxas ECB automatizadas

### myeasyweb.pro

## Objetivos, contexto e riscos

_Visao estrategica e desafios da plataforma_

### Sites profissionais para revendedores sem habilidades tecnicas

### FR, EN, ES, DE, IT, NL, PT

### Taxas de cambio BCE, atualizacao diaria automatica

### Banco de dados centralizado de 800+ fornecedores

### Branding totalmente personalizavel por revendedor

### Contexto

### Desafios

### Riscos identificados

### Complexidade multi-tenant

400+ sites pilotados a partir de um codigo unico com personalizacao por tenant - um padrao coerente com as praticas SaaS da decada 2008-2014.

### Hash de senhas (estado da arte 2012)

Era o estado da arte do ecossistema PHP do inicio dos anos 2010 - reflexo das restricoes tecnicas da epoca. Os padroes modernos (bcrypt, argon2) se generalizaram desde entao.

### Concentracao do motor de busca

Instancia Solr unica para a busca de produtos - era o estado da arte na epoca, coerente com as praticas da decada 2008-2014, antes que clusters multi-no e ElasticSearch se tornassem o padrao para alta disponibilidade.

### Esquema de banco compartilhado

Acesso entre aplicacoes a um esquema relacional compartilhado - era o estado da arte na epoca, coerente com as arquiteturas pragmaticas da decada 2008-2014, antes da generalizacao de microsservicos e APIs por contexto de negocio.

O MyEasyWeb foi construido com um objetivo claro de monetizacao B2B: oferecer a cada revendedor de produtos promocionais na Europa um site pronto conectado ao banco de dados European Sourcing, gerando receita recorrente e fixando os revendedores no ecossistema.

Sites prontos

### 400+ ativos

Multi-idioma

### 7 idiomas

Multi-moeda

### 32 moedas

Catalogo de produtos

### 520K+ produtos

Personalizacao

### 3 temas

O projeto esta inserido em um **ecossistema maior** na Medialeads/European Sourcing, que inclui o marketplace European Sourcing, a extranet de revendedores, ferramentas de traducao, pipelines de importacao de dados e outros produtos B2B. A infraestrutura existente ja contava com um **banco de dados MySQL centralizado**, um **motor de busca Apache Solr** e um sistema de API interno. O desenvolvimento comecou com **SVN** antes de migrar para o **GitHub** em 2016.

O MyEasyWeb impacta diretamente o **modelo de receita** da European Sourcing: cada site de revendedor gera volume de negocios para os fornecedores da plataforma. Alem da receita, a plataforma serve como **ferramenta de retencao** - ao fornecer um site profissional gratuito, a European Sourcing mantem seus revendedores no ecossistema.

## Fases de implementacao

_Quatro anos de desenvolvimento, das fundacoes a maturidade_

### Fundacoes e arquitetura multi-tenant (2012 - 2013)

- Desenvolvi a aplicacao principal (myeasyweb.net) com Symfony 2.4 no SVN
- No lado da arquitetura, projetei e implementei a camada multi-tenant: deteccao de dominio, carregamento dinamico de configuracao
- Para o acesso aos dados, conectei a aplicacao ao banco MySQL European Sourcing existente e ao motor de busca Apache Solr
- No back-office do revendedor, construi a gestao de conteudo, estatisticas, orcamentos e configuracao de margens
- Para fechar a fase, implantei os primeiros sites de revendedores com dominios personalizados

### Enriquecimento funcional e escala (2014 - 2015)

- Construi o sistema publicitario completo: slideshows, banners, anuncios 4 posicoes, skyscrapers, anuncios por categoria
- No lado da navegacao, implementei menus personalizados com suporte a links e paginas incorporadas
- Do lado das estatisticas, desenvolvi paineis detalhados para orcamentos, contatos, produtos e buscas
- Para medir a audiencia, integrei o rastreamento Google Analytics por site de revendedor
- Para a comunicacao comercial, adicionei o gerenciamento e o envio de newsletters
- No SEO, desenvolvi categorias personalizadas, sitemaps XML e gestao de meta-dados
- No visual, ampliei a plataforma para 3 temas com camada comum compartilhada e fontes web personalizadas

### Modernizacao e novo back-office (2016 (T3))

- Desenvolvi o bo.myeasyweb.pro em Symfony 3.1 - o novo back-office de administracao interna
- No lado da API, implementei a arquitetura REST (FOSRestBundle + JMSSerializer) para a gestao centralizada de sites
- Para reconciliar os dados, construi o servico de sincronizacao entre os bancos interno e de revendedores
- No lado da i18n, adicionei o sistema de gestao de traducoes (TranslatableListener, Locale, CategoryTranslation)
- Em paralelo, liderei a migracao do controle de versao de SVN para GitHub (organizacao: medialeads)

### Site vitrine e busca (2016 (T4))

- Desenvolvi o site vitrine myeasyweb.pro com o micro-framework Silex 2.0
- Para a busca, integrei o **ElasticSearch** com uma biblioteca PHP customizada interna (lib/ElasticSearch/)
- No lado do front, construi as paginas de busca de produtos com templates Twig (Home, Search, Layout)

### Fase 1

- Fase 1
- Fase 2
- Fase 3
- Fase 4

## Atores e interacoes

_Como colaborei em uma equipe de 5 desenvolvedores e 1.506 commits_

### Distribuicao de commits por desenvolvedor

### Contribuicoes da equipe

### Partes interessadas externas com quem interagi

- Construi este projeto dentro da **Medialeads**, uma empresa de software que desenvolvia produtos para a **European Sourcing** - lider europeia em bancos de dados de produtos promocionais. Ao lado de uma equipe de **5 desenvolvedores** reunida em 3 repositorios, levei **~65% de todos os commits** como **desenvolvedor lead**.

### Desenvolvedor

### Funcao

### Commits

### %

### Escopo

Alem da equipe tecnica, interagi com multiplos atores externos: **fornecedores de produtos promocionais**, cujos catalogos alimentavam a plataforma via API European Sourcing; **400+ revendedores**, usuarios diretos do back-office MyEasyWeb que eu entregava; **OVH**, cujos servidores dedicados eu operava; **Amazon Web Services**, que eu utilizava para o envio de emails via SES; e **GitHub**, para onde migrei o codigo sob a organizacao medialeads.

## Resultados e entregas

_O que foi alcancado em 4+ anos de desenvolvimento_

### Entidades no banco

41 (principal) + 10 (ES) + 10 (BO) + 6 (compartilhado)

### Controllers

44 (principal) + 13 (BO admin)

### Rotas/Endpoints API

Somente no myeasyweb.net

### Commits totais

Em 3 repositorios, 5 desenvolvedores

### Temas visuais

Totalmente personalizaveis por revendedor

### Arquivos de stats

Estatisticas de fornecedores (2012-2015)

### Distribuicao de entidades por banco de dados

### Metricas de arquitetura tecnica

### Capacidades da plataforma

- **Arquitetura SaaS multi-tenant**: projetei e mantive um codigo unico servindo 400+ sites de marca independentes - um padrao que aplico hoje a cada projeto SaaS.
- **Expertise PHP full-stack**: do lado do framework, afiei meu dominio do ecossistema Symfony 2.x (Doctrine, Twig, seguranca, traducoes, bundles) sob restricoes de producao reais.
- **Integracao de motores de busca**: em catalogos massivos, adquiri experiencia pratica com **Apache Solr** e depois **ElasticSearch** para busca full-text de produtos.
- **Dominio e-commerce B2B**: adquiri uma compreensao profunda de gestao de catalogos, precificacao/margens, fluxos de orcamentos, sincronizacao de fornecedores e multi-moeda.
- **Arquitetura de banco de dados**: no dia a dia, trabalhei com replicacao MySQL master/slave, cache Memcached e bancos compartilhados entre aplicacoes.
- **Lideranca tecnica**: coordenei o desenvolvimento em 3 repositorios com 4 outros desenvolvedores em workflow por branches, de SVN a Git. Este projeto mudou minha forma de trabalhar: agora projeto cada nova plataforma como multi-tenant por padrao.

### 67

### 57

### 136

### 1.506

### 3 + common

### 1.355

### Para o negocio

O MyEasyWeb permitiu que a European Sourcing **retivesse sua rede de 400+ revendedores** oferecendo-lhes um site profissional gratuito, personalizado e diretamente conectado ao banco de produtos. Cada site de revendedor **gera indiretamente volume de negocios** para os fornecedores da plataforma.

### Para mim pessoalmente

Como desenvolvedor lead responsavel por quase dois tercos do codigo, este projeto foi para mim uma experiencia profissional marcante:

## O que veio depois

_Evolucao e legado da plataforma_

### Estado atual

Ao final do meu envolvimento, a plataforma havia atingido uma **maturidade operacional** e demonstrado a viabilidade de abordagens multi-tenant para mercados de nicho B2B - uma arquitetura durável projetada para atravessar várias geracoes tecnologicas.

## Minha perspectiva critica

_Como julgo este projeto com o recuo_

### Pontos fortes

- Com o recuo, continuo orgulhoso da **arquitetura multi-tenant**: um codigo unico para 400+ sites com personalizacoes individuais - um produto SaaS real, nao sites isolados.
- No lado do produto, entreguei um back-office do revendedor muito rico: anuncios, estatisticas, SEO, newsletters, margens, downloads, paginas corporativas - muito alem de um CMS simples.
- Na infraestrutura, reivindico escolhas de escalabilidade bem pensadas: replicacao MySQL master/slave, Memcached, Solr, Amazon SES.
- Fico satisfeito por ter pensado multi-idioma e multi-moeda desde a concepcao: 7 idiomas e 32 moedas integrados nativamente no modelo de dados.

### Pontos de melhoria

- Na **cobertura de testes**, produzi poucos testes automatizados - era o estado da arte na epoca, coerente com as praticas PHP da decada 2008-2014, antes do PHPUnit e da CI se generalizarem em producao.
- Deixei acumular ~38K linhas de CSS - reflexo das restricoes tecnicas front-end da epoca, antes da generalizacao de design systems e pre-processadores modernos.
- No **deploy**, eu me apoiava em scripts shell - era o estado da arte na epoca para equipes pequenas, coerente com as praticas da decada 2008-2014, antes que pipelines CI/CD se tornassem o padrao.

### Os ensinamentos duradouros que este projeto me trouxe

- **O multi-tenant e um multiplicador de valor**: vi que um codigo unico servindo 400+ clientes gera ROI muito superior a desenvolvimentos sob medida, desde que a camada de personalizacao esteja bem estruturada.
- **A divida tecnica cresce com o sucesso**: quanto mais clientes e funcionalidades eu adicionava, maior era o risco de divida CSS/testes/seguranca sempre que eu nao media a qualidade continuamente.
- **A documentacao operacional**: levo como aprendizado que um wiki com URLs, comandos e crontabs e tao critico quanto a documentacao arquitetural para a sobrevivencia a longo prazo de um projeto.

### Contexto adicional

- Arquitetura e diagramas
- Infraestrutura e implantacao
- Ambientes de desenvolvimento, homologacao e producao
- Trajetoria relacionada
- Engenheiro de software senior - Medialeads
- Desenvolvedor lead na Medialeads, construindo o ecossistema B2B European Sourcing

## Competências aplicadas

_Competências técnicas e humanas aplicadas_

- **[Lideranca & Gestao de Equipe](https://portfolio.josedacosta.net/pt/habilidades/lideranca-gestao-de-equipe.md)** - Liderança do desenvolvimento como contribuidor principal (64,6% dos commits) na plataforma SaaS full-stack
- **[Resolucao de Problemas & Adaptabilidade](https://portfolio.josedacosta.net/pt/habilidades/resolucao-de-problemas-adaptabilidade.md)** - Domínio dos motores de busca Solr/ElasticSearch, das operações de marketplace B2B e de catálogo de 520K+ produtos com 7 idiomas e 32 moedas. Integração de formatos heterogêneos, busca multilíngue em 7 idiomas, otimização de catálogo massivo
- **[Arquitetura de Software & Sistemas](https://portfolio.josedacosta.net/pt/habilidades/arquitetura-de-software-sistemas.md)** - Arquitetura SaaS multi-tenant servindo 400+ sites de revendedores em white label com detecção por domínio - APIs REST no Symfony 2.4 (FOSRestBundle, JMSSerializer, WSSE) para sincronização entre aplicações
- **[Desenvolvimento Fullstack](https://portfolio.josedacosta.net/pt/habilidades/desenvolvimento-fullstack.md)** - Pilotagem de base de código de 108K LOC em 3 aplicações interconectadas com 1.506 commits ao longo de 4+ anos
- **[DevOps, Cloud & Industrializacao de Produção](https://portfolio.josedacosta.net/pt/habilidades/devops-cloud-industrializacao-de-producao.md)** - Migração SVN para GitHub em 2016, infraestrutura dedicada OVH, deploys manuais pré-CI/CD
- **[Dados, IA & Machine Learning](https://portfolio.josedacosta.net/pt/habilidades/dados-ia-machine-learning.md)** - Gestão de 67 entidades de banco com MySQL e ORM Doctrine em arquitetura multi-tenant
- **[SEO & Growth Hacking](https://portfolio.josedacosta.net/pt/habilidades/seo-growth-hacking.md)** - Organic acquisition was central to the model: 400+ multi-domain branded shops with localized URLs, multilingual SEO across 7 languages, and SERP-driven catalog architecture
- **[UI Design & UX Design](https://portfolio.josedacosta.net/pt/habilidades/ui-design-ux-design.md)** - Designed the customization CMS UX so non-technical resellers could brand and configure their shop end-to-end without developer support

## Trajetória relacionada

_Experiência profissional ligada a está realização_

- **Senior Software Engineer · Lead desenvolvedor PHP Symfony**

## Galeria de imagens

_Capturas e visuais do projeto_

## Você tem um site builder SaaS para projetar ?

Criei o MyEasyWeb, o site builder SaaS: editor visual drag-and-drop, biblioteca de modelos e hospedagem integrada. Vamos conversar sobre seu contexto.

**Entrar em contato**
