micro-frontend-gateway icon indicating copy to clipboard operation
micro-frontend-gateway copied to clipboard

🌐 Micro Frontends PoC in Angular - GATEWAY

trafficstars

logo

GATEWAY Build Status demo link

This is Micro Frontends proof of concept.

To cover these requirements:

  • separate frontend per every microservice (micro frontend AKA ‘MF’)
  • MF independently deployable, has to be dynamically loaded in runtime (not statically built)
    • via canary deployment we want to load ALPHA microservice in version 1.0, but BETA microservice in version 1.2
    • other canary deployment wants to load ALPHA microservice in version 2.0, but BETA microservice in version 1.0
  • frontend source codes as part of the backend git repository (to be versioned together)
  • preserve look and feel of SPA application
    • like desktop application
    • instant switching between modules
    • only one full reload

Architecture

separation

Implementation

Current implementation is based on Angular and Angular Package Format (via library ng-packagr).

Micro frontends can be found here:

Gateway deployed at: mkotas.cz/micro-frontend-gateway

Usage

  • local development
    • npm start
    • modify urls in 'app-routing.module.ts'
  • remote deployment
    • npm build-deploy
    • copy content of 'deployment' directory into web server

Resources