Skip to content

A Micro Front-end exploration using the Single SPA architecture

Notifications You must be signed in to change notification settings

devonChurch/kombucha

Repository files navigation

Kombucha 🍵🍶😋

What 👋

A Micro Front-end exploration using the Single SPA architecture to present React, Vue, and AngularJS application verticals synergistically.

Why 🤔

The ability for Developers to build isolated verticals of an application while remaining a cohesive experience to Users is an important pillar to an application architecture.

Combining multiple Front-end frameworks into a single application experience facilitates the incremental evolution of a codebase with an emphasis on longevity. It also allows teams to choose a technology stack that is relevant to a given verticals requirements.

How 💡

The Single SPA system acts as a high-level routing orchestrator that mounts the relevant application vertical. This very light layer of abstraction means that no one UI Framework is controlling the core application architecture.

The application is split into three verticals, each associated with a different UI Framework.

Vue

  • Section: Products
  • Pages: Listings, Purchases

Angular

  • Section: Settings
  • Pages: Profile, Account

React

  • Section: Create
  • Pages: Invoice, Ticket

Each application vertical has a Single SPA wrapper that hooks into their lifecycle methods for mounting.

Kombucha architecture

Application verticals are deployed independently and curated at run time via the Single SPA initializer.

Kombucha terminal

Demo 📺

The demo below shows each application vertical being mounted based on Single SPA's assertion on the current core route.

Micro Front-end mount/unmount

Each Micro Front-end can be freely mounted using the Single SPA Devtools extension.

Single SPA Devtools extension