¿Cómo desarrollamos una aplicación tipo Flipkart?

No sé exactamente cuál es la pila tecnológica de Flipkart, pero es lo que llamarías una aplicación web moderna típica. Si tengo que construir uno, así es como se vería:

Necesita componentes de front-end que usen el trío sagrado estándar de HTML, CSS y Javascript (o cualquier otro lenguaje que se compile en JS). Una pila de front-end moderna se basaría en la arquitectura SPA (aplicación de una sola página) para maximizar la capacidad de respuesta, la interactividad y la experiencia del usuario, y normalmente usaría un marco como React, Angular, Vue o Ember, o incluso variantes funcionales ultra modernas como como Elm. La gestión del estado se realizaría con una biblioteca como Redux para marcos basados ​​en JavaScript.

En el backend, habría un servidor API que sirva la carga útil REST o GraphQL. El servidor API se puede construir en una variedad de plataformas / lenguajes de tecnología backend, incluidos PHP, Python, Go, Node.js o variantes funcionales como Elixir / Erlang, y abstraería varios micro servicios y conectores a bases de datos que pueden ser NoSQL -baseds como MongoDB o bases de datos SQL regulares como Oracle, MySQL, Postgres.

Se necesitaría un CMS para administrar el contenido y los catálogos.

Se necesita una potente funcionalidad / motor de búsqueda para escanear rápidamente a través de los millones de elementos del catálogo para permitir la búsqueda de usuarios. Puede usar la pila ELK o equivalente para esto.

Para pagos, se necesita conexión a una o más pasarelas de pago.

Por seguridad: SSL para encriptación, autenticación (con hash de contraseña usando algo como Bcrypt), autorización de API usando JWT y bibliotecas de terceros (según la elección del lenguaje de programación en el back-end) para funciones basadas en roles y acceso a datos.

Se necesita una solución de big data (como la basada en hadoop) para analizar los flujos de clics de los usuarios y ejecutar un motor de recomendaciones utilizando algoritmos ML / AI.

Se necesita una aplicación de administración complementaria para configurar el sistema.

Estos componentes se pueden alojar en un centro de datos o en la nube (AWS, Azure). El despliegue de producción se puede hacer en contenedores acoplables.

Para clientes móviles, uno tiene la opción de usar marcos nativos en Android o iOS como java & Objective-C / Swift, o usar soluciones híbridas como Cordova / Ionic, o usar una herramienta de desarrollo multiplataforma como React Native. Estas aplicaciones de front-end móvil se alojarían en Apple Store o Google Play Store y se conectarían a los mismos servidores API de back-end.

El registro de dominio y el alojamiento se pueden hacer con cualquiera de los registradores de dominio, como GoDaddy. Para el alojamiento / servicio web estático, se puede utilizar un servicio como Surge. Use Webpack para compilaciones y aumentos del sistema.

Para mejorar el rendimiento, se puede usar el almacenamiento de datos en memoria / caché, como Redis, y para servir activos estáticos, CDN es imprescindible.

La recuperación ante desastres debe planificarse con el centro de datos de DR en otra zona geográfica en comparación con el centro de datos primario.

Se necesita una solución de monitoreo para la infraestructura y la disponibilidad de la aplicación y el monitoreo del rendimiento, que puede mostrar el estado y las métricas en varios componentes del sistema y enviar alertas si se rompen los umbrales.

En resumen, claramente está sucediendo mucho más en una aplicación web compleja como flipkart que sirve a millones de usuarios y aloja productos de miles de proveedores y simplemente no es posible para mí (ya que aún no he creado uno) explique todas las piezas de funcionalidad y componentes del sistema y la fusión de las diferentes tecnologías y skillets que se necesitan, pero espero que esto dé una idea razonable de cuán complejas pueden ser las cosas con bastante rapidez cuando se trata de construir una aplicación de comercio electrónico orientada al consumidor.

More Interesting

¿Qué marco debo elegir para el desarrollo móvil multiplataforma?

¿Conoces alguna de las mejores aplicaciones móviles para agricultores?

¿Dónde debo buscar un desarrollador de aplicaciones ios (o empresa) para asociarme para una propuesta comercial altamente factible?

¿Apache Cordova es la mejor herramienta de desarrollo multiplataforma?

Cómo proporcionar un excelente servicio de desarrollo móvil y qué espera del equipo externo

¿Cuáles son las estrategias en los servicios de prueba de aplicaciones móviles?

¿Cuál es la mejor plataforma de desarrollo de aplicaciones móviles para desarrollar aplicaciones móviles sin codificación?

¿Hay algún buen curso de desarrollo móvil para no programadores?

He desarrollado algunas ideas para hacer dinero para aplicaciones que las autoridades me han dicho que estarían interesadas en comprar. Sin embargo, no soy un desarrollador. ¿Cómo puedo comenzar?

¿Qué beneficios disfrutan los desarrolladores de aplicaciones al integrarse con P4RC?

¿Cuáles son algunos de los mejores sitios web o ideas de desarrollo de aplicaciones móviles que pueden ayudar a generar buenos ingresos?

¿Cuáles son los países absolutamente menos costosos para subcontratar el desarrollo de aplicaciones móviles?

Estoy trabajando en una aplicación de Android que tendrá actividad en la base de datos (inicio de sesión, discusión, etc.). ¿Qué base de datos debo usar?

Cómo resolver el problema de 'error de conexión o código mmi no válido'

Cómo elegir el correcto de la gran lista de empresas de desarrollo de aplicaciones móviles disponibles