SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Un poco de historia
•De tienda física a tienda online
•Posicionamiento + desarrollo rápido
•Departamentos
•Dept. Informática
•Almacén y entrega rápida
Nos buscan y nos encuentran
Sesiones anuales desde 2011 a 2015
Fuente: Google Analytics-PcComponentes
Pedidos anuales desde 2011 a 2015
Fuente: PcComponentes
La evolución de sesiones y pedidos en los últimos cinco años ha seguido una marcada tendencia creciente, siendo más acentuada en el caso
de los pedidos finalizados por clientes.
Nuestra competencia
 Nuestra diferenciación reside en la especialización dentro del
sector de la tecnología e informática.
 Somos líderes en precio, servicio y calidad dentro del sector.
Somos la tienda online especializada en tecnología más visitada
de España por encima de empresas como Media Markt, Fnac,
Redcoon y Worten.
Nuestro Black Friday 2015
 PcComponentes fue la tienda online con más
visibilidad de España, por encima de la competencia y
tan sólo por debajo del agregador Cupones Mágicos y
los resultados de noticias, manteniendo una visibilidad
del 5.28%.
 Posicionamiento sin precedentes como tienda
online líder de tecnología : PcComponentes junto a
Amazon.
Aplicaciones por departamento
Aplicaciones por departamento (simulación)
Deuda técnica
Ward Cunningham• Negocio necesita nueva
funcionalidad
• Productos no acabados o con
errores conocidos en producción
• Velocidad a corto plazo, suma
complejidad
• Frustración, miedo a desplegar,
horas extras…
• Limite cuando el gasto es mayor que
el ingreso
Vamos a cambiar (refactorización)
•Intentos CORE SLIM
•Arquitectura nueva (API RESTFULL)
• Lenguaje común
• Cache
•Códigos de error y excepciones (1xx, 2xx, 3xx, 4xx 5xx)
• Estándares de código (PSR1-PSR2-PSR4)
•IDE
•Aplicación de un framework
Arquitectura
Elección del framework
Frameworks
¿Qué bundles puedo usar y cómo?
•Cuando creo uno
•Estudio de previo
•Adaptación a nuestro
contexto
•Descarte por
incompatibilidad
¿Donde pongo toda mi lógica?
MANAGER
CONTROLADOR
VISTAMODELO
¿Donde pongo toda mi lógica?
MANAGER
CONTROLADOR
VISTAMODELO
MANAGER
Nelmio
• Obtiene datos por
introspección
• Posibilidad de hablar de
swagger
• Hay que acordarse de
desactivarlo en
producción!!
• Junto con doxygen
Nelmio
Validadores
• Entidades complejas
con asserts
• Uso de Constraints
• Custom Validation
Excepciones (InvalidArgumentsException)
Seguridad
• Autenticación basada en Oauth 2.0
•FOSOAuthServerBundle
• Client (cliente confiable ej. Frontend, cron)
•Resource owner password (usuario + pass ej. login)
• SSL
Refactorizar Base de Datos
•Base de datos compleja
3500 tablas aprox
•Bases de datos
cambiantes
•Consultas muy pesadas
•Refactorizar
comportamiento y
semántica
DOCTRINE
• Capa intermedia con alguna lógica
• ORM – DQL & DBAL – MYSQL
• Mapear entidades
• Extensiones (Ej. Translatable)
• Console comands
• Crear entidades
• Ejecutar consultas
• Información de errores
DOCTRINE TRANSLATABLE
REDIS
• Cache de datos en
RAM Ej. Datos del
carro de compra
• 581 entradas en
menos de 5 mins
• Mejora en 50 ms
algunas llamadas
Rendimiento
Seguimos adelante
• Microservicios
• Colas de mensajes
• RabbitMQ
• Resque
• ElasticSearch (ej. buscadores,
detalles de artículo)
• Test (selenium + nightwatch)
• Despliegues (Ansible)
PC Equipo
+
Leandro
Lorena
María
Carlos
Adrián
Alberto Vioque
Sergio
Pedro
Diego
Pedro Raja
Jero
Y familias
Agradecimientos
https://linkedin.com/in/mario-marin
https://twitter.com/mariomarin13
mario.marin@pccomponentes.com
https://twitter.com/symfony_mur

Contenu connexe

En vedette

When cqrs meets event sourcing
When cqrs meets event sourcingWhen cqrs meets event sourcing
When cqrs meets event sourcingManel Sellés
 
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Ignacio Martín
 
Desarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyDesarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyAsier Marqués
 
Decoupling the Ulabox.com monolith. From CRUD to DDD
Decoupling the Ulabox.com monolith. From CRUD to DDDDecoupling the Ulabox.com monolith. From CRUD to DDD
Decoupling the Ulabox.com monolith. From CRUD to DDDAleix Vergés
 
CQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationCQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationSamuel ROZE
 
Getting your open source company to contribution
Getting your open source company to contributionGetting your open source company to contribution
Getting your open source company to contributionAsavin Wattanajantra
 
WordCamp Cantabria - Código mantenible con WordPress
WordCamp Cantabria  - Código mantenible con WordPressWordCamp Cantabria  - Código mantenible con WordPress
WordCamp Cantabria - Código mantenible con WordPressAsier Marqués
 
How Symfony Changed My Life
How Symfony Changed My LifeHow Symfony Changed My Life
How Symfony Changed My LifeMatthias Noback
 
You Got React.js in My PHP
You Got React.js in My PHPYou Got React.js in My PHP
You Got React.js in My PHPTaylor Lovett
 
Zephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensionsZephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensionsMark Baker
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Alexander Lisachenko
 
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreSymfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
 
Keeping the frontend under control with Symfony and Webpack
Keeping the frontend under control with Symfony and WebpackKeeping the frontend under control with Symfony and Webpack
Keeping the frontend under control with Symfony and WebpackIgnacio Martín
 
Guard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful SecurityGuard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful SecurityRyan Weaver
 
Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)Ryan Weaver
 
Symfony & Javascript. Combining the best of two worlds
Symfony & Javascript. Combining the best of two worldsSymfony & Javascript. Combining the best of two worlds
Symfony & Javascript. Combining the best of two worldsIgnacio Martín
 

En vedette (20)

When cqrs meets event sourcing
When cqrs meets event sourcingWhen cqrs meets event sourcing
When cqrs meets event sourcing
 
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
 
Desarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyDesarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando Symfony
 
Decoupling the Ulabox.com monolith. From CRUD to DDD
Decoupling the Ulabox.com monolith. From CRUD to DDDDecoupling the Ulabox.com monolith. From CRUD to DDD
Decoupling the Ulabox.com monolith. From CRUD to DDD
 
CQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationCQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony application
 
Matters of State
Matters of StateMatters of State
Matters of State
 
Getting your open source company to contribution
Getting your open source company to contributionGetting your open source company to contribution
Getting your open source company to contribution
 
Doctrine2 sf2Vigo
Doctrine2 sf2VigoDoctrine2 sf2Vigo
Doctrine2 sf2Vigo
 
WordCamp Cantabria - Código mantenible con WordPress
WordCamp Cantabria  - Código mantenible con WordPressWordCamp Cantabria  - Código mantenible con WordPress
WordCamp Cantabria - Código mantenible con WordPress
 
How Symfony Changed My Life
How Symfony Changed My LifeHow Symfony Changed My Life
How Symfony Changed My Life
 
You Got React.js in My PHP
You Got React.js in My PHPYou Got React.js in My PHP
You Got React.js in My PHP
 
Zephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensionsZephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensions
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
 
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreSymfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and more
 
The IoC Hydra
The IoC HydraThe IoC Hydra
The IoC Hydra
 
Keeping the frontend under control with Symfony and Webpack
Keeping the frontend under control with Symfony and WebpackKeeping the frontend under control with Symfony and Webpack
Keeping the frontend under control with Symfony and Webpack
 
Guard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful SecurityGuard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful Security
 
Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)
 
PHP + Node.js
PHP + Node.jsPHP + Node.js
PHP + Node.js
 
Symfony & Javascript. Combining the best of two worlds
Symfony & Javascript. Combining the best of two worldsSymfony & Javascript. Combining the best of two worlds
Symfony & Javascript. Combining the best of two worlds
 

Similaire à Historia y evolución de PcComponentes como tienda online líder de tecnología

Dynamics saturday madrid 2018 tdd con dynamics 365 ce - jordi
Dynamics saturday madrid 2018   tdd con dynamics 365 ce - jordiDynamics saturday madrid 2018   tdd con dynamics 365 ce - jordi
Dynamics saturday madrid 2018 tdd con dynamics 365 ce - jordiDemian Raschkovan
 
T-ESPE-047339-P.ppt
T-ESPE-047339-P.pptT-ESPE-047339-P.ppt
T-ESPE-047339-P.pptdiego490296
 
Plataformas eCommerce Best Practices Magento
Plataformas eCommerce Best Practices MagentoPlataformas eCommerce Best Practices Magento
Plataformas eCommerce Best Practices MagentoIgnacio Riesco Martín
 
Tienda Virtual.- Gygacom
Tienda Virtual.- GygacomTienda Virtual.- Gygacom
Tienda Virtual.- GygacomHikaiwaba
 
Descripción y selección ERP
Descripción y selección ERPDescripción y selección ERP
Descripción y selección ERPIñaki Santos
 
Symfony y 3 millones de usuarios, nuestro dia a dia
Symfony y 3 millones de usuarios, nuestro dia a diaSymfony y 3 millones de usuarios, nuestro dia a dia
Symfony y 3 millones de usuarios, nuestro dia a diaJordi Llonch
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosDomingo Suarez Torres
 
Desarrollo web el mejor aliado del Marketing Digital
Desarrollo web el mejor aliado del Marketing DigitalDesarrollo web el mejor aliado del Marketing Digital
Desarrollo web el mejor aliado del Marketing DigitalMarta Soler
 
Arquitectura Para El Comercio Electrónico
Arquitectura Para El Comercio ElectrónicoArquitectura Para El Comercio Electrónico
Arquitectura Para El Comercio ElectrónicoSamPinilla
 
Curso eCommerce. 05. Implantación de una tienda online
Curso eCommerce. 05. Implantación de una tienda onlineCurso eCommerce. 05. Implantación de una tienda online
Curso eCommerce. 05. Implantación de una tienda onlineAlex Rayón Jerez
 
Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...
Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...
Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...Aitana
 
Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure Plain Concepts
 
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...Software Guru
 
2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_cast2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_castiñaki bermejo
 
Plataformas de comercio electrónico
Plataformas de comercio electrónicoPlataformas de comercio electrónico
Plataformas de comercio electrónicoCarmenDN
 

Similaire à Historia y evolución de PcComponentes como tienda online líder de tecnología (20)

Dynamics saturday madrid 2018 tdd con dynamics 365 ce - jordi
Dynamics saturday madrid 2018   tdd con dynamics 365 ce - jordiDynamics saturday madrid 2018   tdd con dynamics 365 ce - jordi
Dynamics saturday madrid 2018 tdd con dynamics 365 ce - jordi
 
T-ESPE-047339-P.ppt
T-ESPE-047339-P.pptT-ESPE-047339-P.ppt
T-ESPE-047339-P.ppt
 
Plataformas eCommerce Best Practices Magento
Plataformas eCommerce Best Practices MagentoPlataformas eCommerce Best Practices Magento
Plataformas eCommerce Best Practices Magento
 
Tienda Virtual.- Gygacom
Tienda Virtual.- GygacomTienda Virtual.- Gygacom
Tienda Virtual.- Gygacom
 
Descripción y selección ERP
Descripción y selección ERPDescripción y selección ERP
Descripción y selección ERP
 
Symfony y 3 millones de usuarios, nuestro dia a dia
Symfony y 3 millones de usuarios, nuestro dia a diaSymfony y 3 millones de usuarios, nuestro dia a dia
Symfony y 3 millones de usuarios, nuestro dia a dia
 
Presentacion erp
Presentacion erpPresentacion erp
Presentacion erp
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
AWS Summit Mexico 2015 Key Note Raul Frias
AWS Summit Mexico 2015 Key Note Raul Frias AWS Summit Mexico 2015 Key Note Raul Frias
AWS Summit Mexico 2015 Key Note Raul Frias
 
Desarrollo web el mejor aliado del Marketing Digital
Desarrollo web el mejor aliado del Marketing DigitalDesarrollo web el mejor aliado del Marketing Digital
Desarrollo web el mejor aliado del Marketing Digital
 
Herramientas E-commerce
Herramientas E-commerceHerramientas E-commerce
Herramientas E-commerce
 
Arquitectura Para El Comercio Electrónico
Arquitectura Para El Comercio ElectrónicoArquitectura Para El Comercio Electrónico
Arquitectura Para El Comercio Electrónico
 
Curso eCommerce. 05. Implantación de una tienda online
Curso eCommerce. 05. Implantación de una tienda onlineCurso eCommerce. 05. Implantación de una tienda online
Curso eCommerce. 05. Implantación de una tienda online
 
Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...
Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...
Desayuno de trabajo | Ayudas a la digitalización de las pymes con Aitana y Gr...
 
Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure 
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Interactiv4 Omexpo Trustly
Interactiv4 Omexpo TrustlyInteractiv4 Omexpo Trustly
Interactiv4 Omexpo Trustly
 
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
 
2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_cast2015 presentation corporate_alfa9_cast
2015 presentation corporate_alfa9_cast
 
Plataformas de comercio electrónico
Plataformas de comercio electrónicoPlataformas de comercio electrónico
Plataformas de comercio electrónico
 

Dernier

Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucioneschorantina325
 
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdfTIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdfLUZMARIAAYALALOPEZ
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjNachisRamos
 

Dernier (7)

Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdfTIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
TIPOS DE LA PSICOPATOLOGÍA DE LA PERCEPCIÓN.pdf
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
 

Historia y evolución de PcComponentes como tienda online líder de tecnología