{"id":20008443,"url":"https://github.com/fernanda-kipper/module-fedaration","last_synced_at":"2026-01-16T01:49:33.850Z","repository":{"id":119159503,"uuid":"438359819","full_name":"Fernanda-Kipper/module-fedaration","owner":"Fernanda-Kipper","description":"E-commerce prototype using React, Webpack 5 and Module Federation with multiple separate builds to form a single application","archived":false,"fork":false,"pushed_at":"2023-06-28T21:31:00.000Z","size":778,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T10:58:45.648Z","etag":null,"topics":["json-server","module-federation","reactjs","webpack5"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fernanda-Kipper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-14T18:30:55.000Z","updated_at":"2025-03-14T17:21:48.000Z","dependencies_parsed_at":"2023-07-10T01:15:57.325Z","dependency_job_id":null,"html_url":"https://github.com/Fernanda-Kipper/module-fedaration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Fernanda-Kipper/module-fedaration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fmodule-fedaration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fmodule-fedaration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fmodule-fedaration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fmodule-fedaration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fernanda-Kipper","download_url":"https://codeload.github.com/Fernanda-Kipper/module-fedaration/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fmodule-fedaration/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28474505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T00:15:39.755Z","status":"ssl_error","status_checked_at":"2026-01-16T00:15:32.174Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json-server","module-federation","reactjs","webpack5"],"created_at":"2024-11-13T07:09:58.721Z","updated_at":"2026-01-16T01:49:33.845Z","avatar_url":"https://github.com/Fernanda-Kipper.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\" style=\"color: #805ad5; font-weight: bold;\"\u003e\n  \u003cimg src=\"./assets/goods.png\"\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"#tech\"\u003eTechnolgies\u003c/a\u003e • \n \u003ca href=\"#clone\"\u003eClone\u003c/a\u003e • \n \u003ca href=\"#contribute\"\u003eContribute\u003c/a\u003e •\n \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cb\u003eThis application is a e-commerce prototype, this e-commerce is divided in 3 federated modules Container (shell of the application), ProductList (component responsible for fetching and listing all products) and Cart (responsible for list all products that user saved on his cart or remove it)\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/home.png\" width=\"400px\"\u003e\n  \u003cimg src=\"./assets/cart.png\" width=\"400px\"\u003e\n\u003c/p\u003e\n\n\n\u003ch2 id=\"tech\"\u003eTechnologies\u003c/h2\u003e\n  This application architecture is organized in bidirectional modules:\n\n  - Container (Shell of the app), exports 'App' where all modules are combined to form the application - running in port 3000\n  - ProductList (List of all products), export 'ProductList' and consumes 'App' from Container - running in port 3001\n  - Cart (Shopping Cart), export 'Cart' and consumes 'App' from Container - running in port 3002\n\n  ### More\n  The same application will be seen on all ports, but, each one loads the modules that is consuming on RUNTIME, meaning that the bundle of each app will be different containing only the code that belongs to he and will not include the remotes modules its consumes.\n  The modules share their dependencies as well to avoid duplicate dependencies load\n\n  \u003cp align=\"center\"\u003e\n    \u003cimg src=\"./assets/module-federation.png\" width=\"400px\"\u003e\n  \u003c/p\u003e\n\n\u003ch2 id=\"clone\"\u003eClone\u003c/h2\u003e\n\n\u003ch4\u003e Prerequisites\u003c/h4\u003e\n\n- Node \u003e= 10.16 e npm \u003e= 5.6 \n- Package manager - NPM or YARN\n\n\u003ch4\u003eStarting\u003c/h4\u003e\n\n```\ngit clone https://github.com/Fernanda-Kipper/module-federarion.git\nnpm install\n```\n\n\u003ch5\u003eStart server that list products\u003c/h5\u003e\n\n```\n  cd ProductList\n  npm run server\n```\n\n\u003ch5\u003eStart Clients\u003c/h5\u003e\n\n```\n  cd Container\n  npm run dev\n```\n\n```\n  cd ProductList\n  npm run dev\n```\n\n```\n  cd Cart\n  npm run dev\n```\n\n\u003ch2 id=\"contribute\"\u003eContribute 🚀\u003c/h2\u003e\n\nIf you want to contribute, clone this repo, create your work branch and get your hands dirty!\n\n```bash\ngit clone https://github.com/Fernanda-Kipper/video-chat.git\ngit checkout -b feature/NAME\n```\n\n At the end, open a Pull Request explaining the problem solved or feature made, if exists, append screenshot of visual modifications and wait for the review!\n\n[How to create a Pull Request](https://www.atlassian.com/br/git/tutorials/making-a-pull-request)\n\n[Commit pattern](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716)\n\n\n\u003ch2 id=\"license\"\u003eLicense 📃 \u003c/h2\u003e\n\nThis project is under [MIT](LICENSE) license\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernanda-kipper%2Fmodule-fedaration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernanda-kipper%2Fmodule-fedaration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernanda-kipper%2Fmodule-fedaration/lists"}