Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create getting started guide #836

Merged
Merged
44 changes: 44 additions & 0 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Getting started

## What is Luigi?

Luigi is an open source JavaScript framework for micro frontends. It enables you to:
* create a unified user interface or web application using **Luigi Core**.
* create micro frontends and connect them to the Luigi Core app using **Luigi Client**.

## What are micro frontends?

Micro frontends are small frontend web applications that are implemented on one global user interface. They allow you to:
alexandra-simeonova marked this conversation as resolved.
Show resolved Hide resolved

* **break up big, monolithic UIs**: decompose your frontend into smaller chucks and make it more manageable, all while maintaining a consistent user experience.
alexandra-simeonova marked this conversation as resolved.
Show resolved Hide resolved
* **give individual teams autonomy**: every team in your project can develop their own end-to-end application which exists on the same core app. This gives teams full autonomy over release dates and updates, while also reducing code dependencies.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **give individual teams autonomy**: every team in your project can develop their own end-to-end application which exists on the same core app. This gives teams full autonomy over release dates and updates, while also reducing code dependencies.
* **give autonomy to individual teams**: every team in your project can develop their own end-to-end implementation based on the same core application. This gives teams full autonomy over release dates and updates, at the same time reducing code dependencies.

I would go with end-to-end implementation more than application - but it might be a preference :D

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, because otherwise we repeat "application" twice in the same sentence. 😃

I'm not sure about This gives teams full autonomy over release dates and updates, at the same time reducing code dependencies. There should be a word like "while" somewhere (a subordinating conjunction) because "at the same time reducing code dependencies" isn't a standalone sentence.
Maybe just This gives teams full autonomy over release dates and updates, and at the same time reduces code dependencies.
Or This gives teams full autonomy over release dates and updates, while at the same time reducing code dependencies.?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right - I like the second one :) 👍

* **extend functionality**: integrate external micro frontends to utilize functions from a 3rd party.
alexandra-simeonova marked this conversation as resolved.
Show resolved Hide resolved
* **scale**: add new features with ease without having to rely on only one UI team.
* **make your website fast and resilient**: even if a micro frontend underperforms, the main user interface is not affected.
* **be technology agnostic**: each micro frontend can be developed using a separate framework without having to synchronize everything with the main application. This enables you to quickly react to trends and adopt new technologies.
alexandra-simeonova marked this conversation as resolved.
Show resolved Hide resolved

## Prerequisites

All you need to get started with Luigi is basic knowledge of HTML and JavaScript.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
All you need to get started with Luigi is basic knowledge of HTML and JavaScript.
All you need to get started with Luigi is the basic knowledge of HTML and JavaScript.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since "knowledge" is an uncountable noun, I don't think it needs an article 😕

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


You can build an application in Luigi without a framework, or use different frameworks such as:
* Angular 6
* SAPI5/OpenUI5
* VUE.JS

## Next steps

### Luigi Core

To create a global user interface and host a full web application in Luigi:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To create a global user interface and host a full web application in Luigi:
Follow these steps to create a global user interface and host a full web application in Luigi:

We usually add an introductory line about the steps to follow :) It doesn't need to be "follow these steps" can be something similar. However, in this case, we have 2 steps - Setting up a Luigi core app + Reading docu. since the introduction says: To create a global user interface and host a full web application in Luigi: I was wondering if we may be more direct in the second step. For example, we can have:
2. Configure the application. To do so, use the Luigi Core documentation. OR
2. Use the Luigi Core documentation to configure your application.


1. [Set up a Luigi Core application](https://github.com/SAP/luigi/blob/master/docs/application-setup.md).
2. [Read the Luigi Core documentation](https://github.com/SAP/luigi/blob/master/docs/README.md#luigi-core).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment above ⬆️



### Luigi Client

To develop micro frontends and connect them to an already existing Luigi Core app:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above, maybe we can be more specific in the second point :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I made these changes in the latest commit.


1. [Install Luigi Client](https://github.com/SAP/luigi/tree/master/client#luigi-client).
2. [Read the Luigi Client documentation](https://github.com/SAP/luigi/tree/master/docs#luigi-client).