Giter Site home page Giter Site logo

mfe's Introduction

Microfrontend App with Webpack Module Federation

Screenshot 2023-08-20 at 4 00 08 PM

AWS Cloudfront Demo Site

This microfrontend app is built using Webpack Module Federation and serves as a boilerplate for developing a software-as-a-service (SaaS) product or similar applications. It employs a modular and scalable front-end architecture by combining multiple microfrontends, including a shell app, an authentication app, a marketing app, and a dashboard app.

The microfrontend application also utilizes GitHub Actions as a CI/CD (Continuous Integration/Continuous Deployment) tool to automate the build and deployment process. It leverages AWS S3 (Simple Storage Service) to store the static files generated during the build process, and AWS CloudFront as a content delivery network (CDN) to distribute the final application and provide faster content delivery to end-users. checkout the site on AWS CloudFront

Microfrontend Overview

Shell App

The shell app acts as the container for the entire microfrontend architecture. It provides a consistent layout, navigation, and routing functionality across the different microfrontends. The shell app is responsible for loading and rendering the other microfrontends dynamically using Webpack Module Federation.

Authentication App

The authentication app handles user authentication and authorization within the microfrontend architecture. It provides login and registration functionalities, manages user sessions, and controls access to protected resources across the different microfrontends. The authentication app is built using React, React Router, and material-ui.

Marketing App

The marketing app is responsible for showcasing the marketing content and features of the SaaS product. It provides a public-facing interface that highlights the product's value proposition, features, pricing, and other marketing materials. The marketing app is built using React, React Router, and material-ui.

Dashboard App

The dashboard app serves as the main user interface for managing and interacting with the SaaS product's functionality. It provides access to various features, data visualizations, and administrative tools. The dashboard app is built using Vue.js, Vue Router, Chart.js, and other necessary libraries.

Key Technologies Used

React

React is a JavaScript library for building user interfaces. It is used in the authentication app, marketing app, and shell app to create reusable UI components, manage application state, and handle dynamic rendering of modules.

Vue.js

Vue.js is a progressive JavaScript framework for building user interfaces. It is used in the dashboard app to create a responsive and interactive user interface, manage application state, and handle data visualization.

React Router

React Router is a routing library for React applications. It is used in the authentication app, marketing app, and shell app to handle client-side routing and navigation between different pages within the microfrontend architecture.

Material-UI

Material-UI is a popular UI component library for React applications. It provides pre-built, customizable UI components that adhere to the Material Design principles. Material-UI is utilized in the authentication app, marketing app, and shell app to achieve a consistent and visually appealing user interface.

Sass

Sass is a CSS extension language that enables the use of variables, nesting, and other advanced features. It is used to write modular and maintainable stylesheets for the microfrontend apps, ensuring consistent styling across the application.

Chart.js

Chart.js is a JavaScript library for creating interactive and customizable charts. It is used in the dashboard app to visualize data and provide insights to the users of the SaaS product.

Webpack Module Federation

Webpack Module Federation is a feature of Webpack that allows sharing of JavaScript modules across different applications. It enables the dynamic loading and rendering of microfrontends within the shell app. Webpack Module Federation facilitates the composition of the different microfrontend apps into a cohesive and integrated user experience.

Contributing

Contributions to this microfrontend app boilerplate are welcome! If you encounter any issues, have suggestions for improvements, or would like to add new features, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. Please see the LICENSE file for more details.

mfe's People

Contributors

alex-huxd avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.