All Projects → naltatis → Micro Frontends In Action Code

naltatis / Micro Frontends In Action Code

Licence: mit
The Tractor Store - sample code from the book Micro Frontends in Action

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Micro Frontends In Action Code

Microservices
Microservices from Design to Deployment 中文版 《微服务:从设计到部署》
Stars: ✭ 4,637 (+3033.11%)
Mutual labels:  microservices, book
Aofe.code
《前端架构:从入门到微前端》源码,code for Architecture of Frontend
Stars: ✭ 292 (+97.3%)
Mutual labels:  microservices, book
Cs Books Pdf
编程电子书pdf,计算机常用电子书整理(高质量/附下载链接)包括 Java, Python, Linux, Go, C, C++, 数据结构与算法, AI人工智能, 计算机基础, 面试, 设计模式, 数据库, 前端等编程书籍。
Stars: ✭ 140 (-5.41%)
Mutual labels:  book
Azkarra Streams
🚀 Azkarra is a lightweight java framework to make it easy to develop, deploy and manage cloud-native streaming microservices based on Apache Kafka Streams.
Stars: ✭ 146 (-1.35%)
Mutual labels:  microservices
Doge
Doge is a high-performance, Python based, open source RPC framework
Stars: ✭ 144 (-2.7%)
Mutual labels:  microservices
My Moments
Instagram Clone - Cloning Instagram for learning purpose
Stars: ✭ 140 (-5.41%)
Mutual labels:  microservices
Deep Learning With Tensorflow Book
深度学习入门开源书,基于TensorFlow 2.0案例实战。Open source Deep Learning book, based on TensorFlow 2.0 framework.
Stars: ✭ 12,105 (+8079.05%)
Mutual labels:  book
Edition Guide
A guide to changes between various editions of Rust
Stars: ✭ 141 (-4.73%)
Mutual labels:  book
Zeebe
Distributed Workflow Engine for Microservices Orchestration
Stars: ✭ 2,165 (+1362.84%)
Mutual labels:  microservices
Phpapprentice
An online book for learning PHP
Stars: ✭ 145 (-2.03%)
Mutual labels:  book
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (-0.68%)
Mutual labels:  microservices
Library
ufutx share book libraries : share and manage books platform for personal and organization
Stars: ✭ 144 (-2.7%)
Mutual labels:  book
Classiccomputerscienceproblemsinswift
Source Code for the Book Classic Computer Science Problems in Swift
Stars: ✭ 142 (-4.05%)
Mutual labels:  book
Stpageflip
Simple library for creating realistic page turning effects
Stars: ✭ 146 (-1.35%)
Mutual labels:  book
Bricks
A standard library for microservices.
Stars: ✭ 142 (-4.05%)
Mutual labels:  microservices
Cqrs Documents
E-book of Greg Young's CQRS Documents
Stars: ✭ 148 (+0%)
Mutual labels:  book
Docker Continuous Deployment
continuous deployment of a microservices application with Docker
Stars: ✭ 141 (-4.73%)
Mutual labels:  microservices
Practical Dapr
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 140 (-5.41%)
Mutual labels:  microservices
Rpcx Gateway
http gateway for rpcx services. Clients in any programming languages can call them
Stars: ✭ 145 (-2.03%)
Mutual labels:  microservices
Ebook Template
Template to create PDF, ePub and Kindle books with Asciidoctor
Stars: ✭ 150 (+1.35%)
Mutual labels:  book

Sample Code - Micro Frontends in Action

This is the example code that goes along with the Manning book Micro Frontends in Action.

Hosted examples

You can interact with the running examples here:
https://the-tractor.store 🚜

Local machine

Prerequisites

  1. Clone this git repository or download & extract the zip to your local machine.

  2. Make sure you have Node.js (v12 or newer) installed.

    $ node -v
    v14.4.0
    
  3. Go into the main directory and install all required dependencies.

    cd micro-frontends-in-action-code
    npm install
    
  4. Install Nginx on your machine. The nginx executable only has to be present - no configuration required.

    • macOS (via Homebrew): brew install nginx
    • Debian/Ubuntu: sudo apt-get install nginx
    • Windows: Binaries included in this repository. No installation required.

    Five examples require Nginx:

    • 04_routing
    • 05_ssi
    • 06_timeouts_down
    • 16_universal
    • 18_asset_registration_include

Running the code

All examples involve starting up multiple applications which are owned by different teams. There is an NPM run for each directory. You can start examples like this: npm run [name_of_example].

The following command will start example #5:

npm run 05_ssi

The script starts all applications and shows a combined log output.
NOTE: Nginx stdout do not work on Windows.

console output

It waits until the servers are ready and opens the example page in your default browser.

example running in your browser

You can stop the example by hitting [CMD] + C in your terminal.

NOTE: The code should run on all platforms. However, if you're having troubles feel free to create an issue.

Folder structure and ports

Each example has its own folder (e.g. 05_ssi). Each example folder contains a subfolder that contains the actual application (e.g. nginx, decide, inspire).

Different port numbers are used to indicate ownership. This following table shows which teams owns which application. Make sure ports 3000 to 3003 are not allocated by another process on your machine.

Port Team Responsibility
3000 - shared - infrastructure (web-server, app shell)
3001 Team Decide product page
3002 Team Inspire homepage, search, recommendations
3003 Team Checkout cart, checkout process

List of all examples

Here is a list of all run commands with a reference to the chapter they belong to.

run script name chapter
npm run 01_pages_links Pages & Links 2
npm run 02_iframe iFrames 2
npm run 03_ajax Namespaces 3
npm run 04_routing Server-side Routing 3
npm run 05_ssi Server-side Integration 4
npm run 06_timeouts_down
npm run 06_timeouts_short_delay
npm run 06_timeouts_long_delay
Timeouts & Fallbacks 4
npm run 07_podium Podium 4
npm run 08_web_components Client-side Composition 5
npm run 09_shadow_dom Style Isolation & ShadowDOM 5
npm run 10_parent_child_communication Parent-Child Communication 6
npm run 11_child_parent_communication Child-Parent Communication 6
npm run 12_fragment_fragment_communication Fragment-Fragment Communication 6
npm run 13_client_side_flat_routing Client-side Routing (Flat) 7
npm run 14_client_side_two_level_routing Client-side Routing (Two-Tiered) 7
npm run 15_single_spa Single SPA 7
npm run 16_universal Universal Rendering 8
npm run 17_asset_client_redirect Asset Client-side Redirect 10
npm run 18_asset_registration_include Asset Registration Include 10
npm run 19_shared_vendor_webpack_dll Shared Vendor Libraries via Webpack DLLPlugin 11
npm run 20_shared_vendor_rollup_absolute_imports Shared Vendor Libraries via Rollup.js and Absolute ES Module Imports 11
npm run 21_local_development Local Development 14
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].