Skip to content

Mahmoud-Jawabreh/Component-based-project

 
 

Repository files navigation

Microfrontend Technology

In this repository, we will explore the microfrontend technology and how to implement it in a multiple frontend frameworks like React, Vue, and Svelte.

Our task to create 3 different microfrontends from Mart website, with the different frontend frameworks.

Microfrontend

  • React Product Grid and Sorting/Filtration
  • Vue Product Slider
  • Svelte Trusted Business

Perquisites

  • Node.js 18.x
  • NPM
  • Docker (optional)
  • Docker Compose (optional)

How to run

  1. Clone the repository
git clone https://github.com/CBSE-summer2024/team9
  1. Go to the repository directory
cd team9
  1. Run each microfrontend
cd product-grid && npm install && npm run bundle
cd product-slider && npm install && npm run bundle
cd trusted-business && npm install && npm run bundle
  1. Run the container
cd container-project && npm install && npm run dev
  1. if you lazier you can use the bellow one-liner command to run the whole microfrontend, you can run the following command
cd team9 && npm install && ./build-and-run.sh

which internally runs the following commands

# Install all dependencies
npm install --prefix ./product-grid
npm install --prefix ./product-slider
npm install --prefix ./trusted-business
npm install --prefix ./container-project

# Run the project
npm run start:all
  1. Open your browser and go to http://localhost:8080

General Architecture

image

Screenshots

Main Page Product Grid

Demo Video

Demo Video

Deployment

unfortunately, we didn't deploy the project yet, but you can run it locally by following the above steps, demonstrate how will run the project on the server.

Tech Stack

Client: React, Vue,Svelte, TailwindCSS

Server: We don't have a server, we are using a mock API from fakestoreapi

Authors

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 44.0%
  • JavaScript 21.5%
  • Vue 16.8%
  • Svelte 9.4%
  • HTML 6.7%
  • Shell 1.1%
  • CSS 0.5%