React Micro Frontend Architecture

Welcome to the React Micro Frontend Architecture project!

What is Micro Frontend?

Micro Frontend is an architectural style where a single frontend application is split into smaller, independently deployable micro-applications. This allows teams to work on different parts of a project separately while ensuring modularity and scalability.

Why Use Micro Frontend?

  • Independent deployment of frontend apps
  • Improved scalability & maintainability
  • Better team collaboration
  • Technology agnostic (each micro-app can use different tech stacks)

Source Code

The full source code is available on my Github Repo. Feel free to explore and customize it!

Project Structure

react-microfrontend-project
 ├──  host-app (Main container app)
 ├──  micro-app-1 (First micro-frontend)
 ├──  micro-app-2 (Second micro-frontend)
 ├──  README.md

How to Run This Project

Follow these steps to get the project up and running:

1. Clone the Repository

git clone https://github.com/your-username/react-microfrontend.git
 cd react-microfrontend-project

2. Install Dependencies

For each app (host-app, micro-app-1, micro-app-2), run:

cd host-app  # or micro-app-1, micro-app-2
 npm install

3. Start the Applications

Run the following commands in separate terminals:

cd host-app && npm start
 cd micro-app-1 && npm start
 cd micro-app-2 && npm start

Each application will start on a different port (e.g., localhost:3000, localhost:3001, localhost:3002) and for more refer Readme.md file.

Data Sharing Between Apps

  • The host-app acts as the main container and loads both micro-apps dynamically.
  • Micro-apps can communicate with each other using props, events, or a global state management system (like Redux or Zustand).
  • Example: Micro-app-1 sends data to Micro-app-2 via the host-app.