devonChurch / kombucha

A Micro Front-end exploration using the Single SPA architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

A Micro Front-end exploration using the Single SPA architecture


Languages

Language:JavaScript 50.7%Language:HTML 25.9%Language:Vue 19.8%Language:TypeScript 3.6%