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

docs: added table of contents and introduction document for Studio tool #553

Open
wants to merge 46 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
2587e35
doc: added the introduction document
Jagrutiti Jan 29, 2023
addb6bf
Update docs/introduction.md
Jagrutiti Feb 2, 2023
226f726
Update docs/introduction.md
Jagrutiti Feb 4, 2023
12ac0ea
Update docs/introduction.md
Jagrutiti Feb 4, 2023
91dfac2
Update docs/introduction.md
Jagrutiti Feb 4, 2023
af527dc
Update docs/README.md
Jagrutiti Feb 4, 2023
c4bcb1f
fix: updating intro doc based on review
Jagrutiti Feb 4, 2023
f0121e7
Merge branch 'doc/introduction' of https://github.com/Jagrutiti/studi…
Jagrutiti Feb 4, 2023
a30ac58
fix: updating intro doc based on review
Jagrutiti Feb 4, 2023
ba9b0dc
zero draft of navigation.md
Jagrutiti Feb 4, 2023
b3ca964
Merge branch 'master' into doc/introduction
magicmatatjahu Feb 13, 2023
600a736
adding the settings doc
Jagrutiti Feb 13, 2023
a51456e
Merge branch 'doc/introduction' of https://github.com/Jagrutiti/studi…
Jagrutiti Feb 13, 2023
0cc374f
Applying the suggestions based on review.
Jagrutiti Feb 13, 2023
f80dc2e
updating definitions of a few components
Jagrutiti Feb 13, 2023
619ac02
Merge branch 'doc/introduction' of https://github.com/Jagrutiti/studi…
Jagrutiti Feb 13, 2023
6aa4a05
updated the navigation doc
Jagrutiti Feb 14, 2023
26a14ec
Merge branch 'master' into doc/introduction
KhudaDad414 Sep 26, 2023
8def3f9
Merge branch 'asyncapi:master' into doc/introduction
Jagrutiti Oct 19, 2023
19c4423
Modified sentences
Jagrutiti Oct 19, 2023
e64d6c5
Merge branch 'master' into doc/introduction
Amzani Oct 27, 2023
dd3c7e5
Update docs/introduction.md
Amzani Nov 28, 2023
5907766
Update docs/navigation.md
Amzani Nov 28, 2023
aaa3aba
Update docs/navigation.md
Amzani Nov 28, 2023
40624b1
Merge branch 'master' into doc/introduction
Amzani Feb 16, 2024
b9e8fe6
Merge branch 'master' into doc/introduction
Amzani Feb 19, 2024
ae25d3c
Merge branch 'master' into doc/introduction
Amzani Feb 19, 2024
26a0958
Merge branch 'master' into doc/introduction
Amzani Feb 21, 2024
7643f0c
Merge branch 'master' into doc/introduction
Amzani Mar 18, 2024
48fc8fa
Merge branch 'master' into doc/introduction
Amzani Mar 26, 2024
1a3d7d1
Update docs/navigation.md
Amzani Mar 26, 2024
9e186b3
Update docs/navigation.md
Amzani Mar 26, 2024
63d26df
Update docs/navigation.md
Amzani Mar 26, 2024
57cb82d
Update docs/navigation.md
Amzani Mar 26, 2024
136c0de
Update docs/navigation.md
Amzani Mar 26, 2024
99c23cf
Update docs/navigation.md
Amzani Mar 26, 2024
79a87bd
Update docs/navigation.md
Amzani Mar 26, 2024
c1aff6f
Update docs/navigation.md
Amzani Mar 26, 2024
bea6070
Update docs/navigation.md
Amzani Mar 26, 2024
ac6a5b9
Update docs/navigation.md
Amzani Mar 26, 2024
6c244e5
Update docs/navigation.md
Amzani Mar 26, 2024
d065f54
Update docs/navigation.md
Amzani Mar 26, 2024
f304b6c
Update docs/settings.md
Amzani Mar 26, 2024
c1f6de5
Update docs/settings.md
Amzani Mar 26, 2024
ccbb96c
Merge branch 'master' into doc/introduction
KhudaDad414 Mar 26, 2024
c470434
Merge branch 'master' into doc/introduction
KhudaDad414 Apr 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Table of contents
Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved

- [Introduction](introduction.md)
- [Navigation](navigation.md)
- [Studio Settings](settings.md)
29 changes: 29 additions & 0 deletions docs/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Studio is a tool to develop AsyncAPI documentation.
KhudaDad414 marked this conversation as resolved.
Show resolved Hide resolved

Using Studio you can develop an AsyncAPI document, visualize the flow of events, preview, validate, and convert the document to the latest version in one place.
KhudaDad414 marked this conversation as resolved.
Show resolved Hide resolved
Amzani marked this conversation as resolved.
Show resolved Hide resolved

You can use it to view the events, publishers, subscribers, messages, payload as you design your API.

Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved
# Studio Use Cases

- Create and visualize event-driven AsyncAPI on the go.
- Realtime visualization and documentation for your APIs.
KhudaDad414 marked this conversation as resolved.
Show resolved Hide resolved


# Studio Advantages
- User-friendly.
- Visualizing events flow.
- Interactive AsyncAPI documentation.
- Straightforward and effortless in building APIs.


# Usage

Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved
To start using Studio, make sure you have an AsyncAPI file for your API.
<Remember>

If you do not have an `asyncapi.yaml` file ready, then generate one by running:
`asyncapi new --example=tutorial.yml --no-tty`.

Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved
</Remember>
Use the `Block visualizer` button to toggle the Event Visualizer window from the navigation panel. You will find the navigation panel to the extreme left your screen.
122 changes: 122 additions & 0 deletions docs/navigation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# Navigation panel

This guide will walk you through the functions of each button in navigation panel.
Amzani marked this conversation as resolved.
Show resolved Hide resolved

# Navigation Button

The first button in the navigation panel is the Navigation button. It is one of the default active buttons.

Navigation button is divided into four parts. It provides the following information:
Amzani marked this conversation as resolved.
Show resolved Hide resolved

- Servers
- Operations
- Messages
- Schemas

## Servers

The Servers section displays the name and information of the server you are using to build your AsyncAPI.
KhudaDad414 marked this conversation as resolved.
Show resolved Hide resolved
Amzani marked this conversation as resolved.
Show resolved Hide resolved

## Operations

The Operations section lists all the operations that are a part of the AsyncAPI. It adds the perfix `PUB` for publisher and `SUB` for subscriber to differentiate between both the operations.

## Messages

This Messages section displays the title of each message used to communicate to the API.
Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved

## Schemas

The Schemas displays the title of the schemas defined.
Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved


# Editor

The Editor section is where you edit the AsyncAPI code. As you edit, you will see the changes reflect dynamically in the HTML preview and Block Visualizer section.
KhudaDad414 marked this conversation as resolved.
Show resolved Hide resolved

Click on the individual elements of the Navigation button to jump to those sections in HTML preview and Block Visualizer section.

## Diagnostics Window

The Editor also has resizeable Diagnostics window. It shows a quick count of number of errors (in red) and warnings (in yellow) by its title. The description of the warnings and errors with line number is displayed in a table.
Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved

To the right side of the title bar there are three indicators of the Diagnostics window:

- Valid/Invalid - It is green if the syntax is green and red when invalid.
- Autosave - It shows whether Autosave is on or off.
- Type - Shows the language in which the API is written: `JSON` or `YAML`.

Bwlow the title bar there is a control panel. You can the buttons to:
Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved

- Hide and show erros
- Hide and show warnings
- Hide and show information messages
- Hide and show hints

There is also search bar to search that aids in finding issues by their names. You will see Settings icon to the right. It will take you to the governance of Diagnostic window.
Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved

# HTML Preview

This section displays the preview of everything you have written in the code editor. It uses different fonts, colors, and styles for readability. Each section has a different card.

It starts with displaying the title, version, description of the API. It renders the formatting too. You can expand each element too see the `key: value` pair of each element, type, payload, and message.
Amzani marked this conversation as resolved.
Show resolved Hide resolved


# Blocks visualizer

Blocks visualizer is the USP of this product. It gives you a quick overview of your API. Unlike HTML preview, Blocks visualizer gives a diagrammatic visual of your API.
KhudaDad414 marked this conversation as resolved.
Show resolved Hide resolved

Title card is at the top-left corner of the Block visualizer window. Followed by the Operations card. You can visualize channels, published messages, payload, type, patterns, and relationship between the components.
Amzani marked this conversation as resolved.
Show resolved Hide resolved

The Blocks visualizer has two set of controls:

- In the top right corner of the window you will find the play and reset button. Play to view live relationship between the components and its flow. Reset to get back to the default view.

- To bottom left of the window there are four controls: zoom in, zoom out, full-screen, toogle interactivity. You zoom the cards in and out or view them in full-screen mode. To prevent the cards from shifting use the toggle interactivity control.
Amzani marked this conversation as resolved.
Show resolved Hide resolved


# New File

To create a new file you can pick one of the available templates.

## Templates

There are 5 available to quick start Studio.

- _Simple Example - A basic example of a service that is in charge of processing user signups. Great place to start learning AsyncAPI.
Jagrutiti marked this conversation as resolved.
Show resolved Hide resolved

- Apache Kafka - A framework implementation of a software bus using stream-processing. Open Source developed by the Apache Software Foundation.

- WebSocket - A framework implementation of a software bus using stream-processing. Open Source developed by the Apache Software Foundation.

- MQTT - A protocol for fetching resources. It is the foundation of any data exchange on the Web and it is a client-server protocol.

- HTTP - A protocol for fetching resources. It is the foundation of any data exchange on the Web and it is a client-server protocol.

## Real World Examples

Studio provides two real world examples templates to help you get started.
KhudaDad414 marked this conversation as resolved.
Show resolved Hide resolved

- Slack Real Time Messaging API - Slack Real time messaging API. Using HTTP protocol.

- Gitter Streaming API - Gitter Streaming API from https://stream.gitter.im. Using HTTP protocol.

## Tutorials

Studio also provides you with a template of an invalid AsyncAPI document. The purpose of this tutorial is to educate, and learn document validation.

[You can request to add a template](https://github.com/asyncapi/studio/issues/new?assignees=&labels=enhancement&template=enhancement.md&title=Template%20Request:%20{%20template%20name%20and%20type%20}) to the list if you don't find what you are looking for.
Amzani marked this conversation as resolved.
Show resolved Hide resolved














Amzani marked this conversation as resolved.
Show resolved Hide resolved
Empty file added docs/settings.md
Empty file.