WillACosta / microfrontend-application

A simple application to implement Webpack 5 Module Federation plugin, and handle multiple application modules and share dependencies.

Home Page:https://d2etx549kucxg0.cloudfront.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@micro-frontend application

A micro frontend application to showcase Webpack 5 Module Federation plugin, and handle multiple modules with share dependencies.

screenshot

Table of contents

App Architecture

The project has three sub-applications using the concept of micro frontend, moreover, we've another application shell named container for handling whether we should or not show other apps, all these modules are managed by Module Federation plugin, from Webpack 5. As you can see below:

  .
  |
  |__ packages
    |
    |__ container
    |__ auth
    |__ dashboard
    |__ marketing

We use a generic mount function for custom rendering micro apps to get agnostic behavior for any frameworks that going used down the road. Also, the communication between apps is made by the callbacks functions.

Technical Resources

  • Micro-frontend architecture with mono-repo
  • Github Actions workflows for automatically deploying each MFE (Micro-frontend)
  • Use of Module Federation plugin for managing applications
  • Use of Amazon S3 and Cloud Front (CDN)
  • Callback communication between apps
  • Lazy load app modules
  • React and Vue based applications
  • React Router DOM for handling browser and memory routers

Getting Started

  1. First of all, you need to clone this repository:
git clone
  1. Go to each application directory and install dependencies:
npm install
  1. Finally, runs each one with:
npm run dev

About

A simple application to implement Webpack 5 Module Federation plugin, and handle multiple application modules and share dependencies.

https://d2etx549kucxg0.cloudfront.net/


Languages

Language:JavaScript 68.9%Language:Vue 29.6%Language:HTML 1.5%