Esto es una aplicación basada en Microfrontends donde se utiliza el framework Single-SPA contando con varios microfrontends desarrollados en Angular, React y Vue.
Aparte, se utiliza un sistema de traducción para cada microfrontend y web components desarrollados en Stencil js.
Para poder ejecutar esté proyecto, lo primero que hay que hacer es clonar el repositorio en tu ordenador.
https://github.com/ipozuelo/microfront-single-spa.gitUna vez tengamos el proyecto, lo que deberíamos hacer es ir a cada carpeta de cada microfrontend e instalar la carpeta node_modules. Para ello, se ejecuta:
npm iDespués, tan solo hay que ejecutar cada microfrontend con sus respectivos comandos.
Aplicación principal donde envuelve el resto de microfrontend
cd spa-root
npm i
npm startServidor que se encarga de gestionar los archivos de variables css, imágenes y json de traducción al resto de aplicaciones microfrontend. Aparte también contiene el "build.js" para que cada vez que se ejecute genere los cambios de las variables de figma tokens.
cd server-express
npm i
npm startMicrofrontend de React encargado de desarrollar el nav-bar de la aplicación.
cd spa-nav
npm i
npm run start:standaloneMicrofrontend de Angular encargado de desarrollar la pantalla principal de la aplicación.
cd spa-home
npm i
npm run serve:single-spa:spa-homeMicrofrontend de Angular encargado de desarrollar la pantalla donde se explica cómo está montada la web.
cd spa-web
npm i
npm run serve:single-spa:spa-webMicrofrontend de Angular encargado de desarrollar la pantalla donde se encuentran las librerías utilizadas en la aplicación.
cd spa-library
npm i
npm run serve:single-spa:spa-libraryMicrofrontend de Angular encargado de desarrollar la pantalla donde se encuentran las herramientas que se utilizan en la aplicación.
cd spa-tools
npm i
npm run serve:single-spa:spa-toolsMicrofrontend de Vue encargado de desarrollar la pantalla donde se encuentra la información de contacto.
cd spa-about
npm i
npm run serve:standaloneMicrofrontend de React encargado de desarrollar la pantalla donde se encuentra la información sobre cosas útiles para el equipo de Front.
cd spa-team
npm i
npm run start:standaloneProyecto encargado de desarrollar los web components utilizados en la aplicación principal.
cd stencil-library
npm i
npm start