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

chore(blog): add 2 blogs a) streamlining EDA Design with AsyncAPI and b) Mastering Event-Driven Architectures - Why Solace Event Portal is Your AsyncAPI Ally #3484

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

gvensan
Copy link

@gvensan gvensan commented Dec 17, 2024

Blog: Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal

Description

Blog that connects AsyncAPI, Event Portals and Spring Cloud Stream - streamlining the design of Event-driven Systems taking advantage of the common thread of native "event-driven" capabilities and support.

Related issue(s)

#3483
#3514

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • Introduced a comprehensive guide on streamlining event-driven architecture design using AsyncAPI and PubSub+ Event Portal.
    • Added a new article detailing the functionalities and advantages of the Solace Event Portal in event-driven architectures.
  • Documentation

    • New article published: "Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal".
    • New article published: "Event Portal: Your AsyncAPI Ally".

Copy link

coderabbitai bot commented Dec 17, 2024

Walkthrough

The pull request introduces two new blog post markdown files: streamlining-eda-design.md and event-portal-your-asyncapi-ally.md. The first document provides a comprehensive guide on integrating AsyncAPI code generation with the PubSub+ Event Portal for designing and managing event-driven architectures (EDA). It addresses complexities in building event-driven systems and emphasizes standardization and testing. The second document details the functionalities of the Solace Event Portal in generating AsyncAPI documents, highlighting various methods and the portal's capabilities for simplifying development.

Changes

File Change Summary
markdown/blog/streamlining-eda-design.md New blog post file created with metadata and content about integrating AsyncAPI code generation with the PubSub+ Event Portal for EDA design.
markdown/blog/event-portal-your-asyncapi-ally.md New blog post file created detailing the functionalities and advantages of the Solace Event Portal in event-driven architectures and AsyncAPI document generation.

Possibly related issues

  • asyncapi/website#3483: This issue directly relates to the blog post being added, as it is the original submission for the blog post about streamlining EDA design.

Suggested labels

ready-to-merge

Suggested reviewers

  • thulieblack
  • akshatnema
  • derberg
  • VaishnaviNandakumar
  • magicmatatjahu
  • devilkiller-ag
  • J0SAL
  • BhaswatiRoy
  • sambhavgupta0705
  • anshgoyalevil
  • asyncapi-bot-eve

Poem

🐰 Hop into the world of events so bright,
Where AsyncAPI brings design delight!
Code generators dance with glee,
PubSub+ Portal sets architectures free,
Event streams flowing, clean and tight! 🚀


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Welcome to AsyncAPI. Thanks a lot for creating your first pull request. Please check out our contributors guide useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

Copy link

netlify bot commented Dec 17, 2024

Deploy Preview for asyncapi-website ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 35e54a5
🔍 Latest deploy log https://app.netlify.com/sites/asyncapi-website/deploys/676a53dbb0267b00081f4d79
😎 Deploy Preview https://deploy-preview-3484--asyncapi-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@gvensan gvensan changed the title Blog: Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal Chore (blog): Added a new blog titled "Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal" Dec 17, 2024
@asyncapi-bot
Copy link
Contributor

asyncapi-bot commented Dec 17, 2024

⚡️ Lighthouse report for the changes in this PR:

Category Score
🔴 Performance 40
🟢 Accessibility 98
🟢 Best practices 92
🟢 SEO 100
🔴 PWA 33

Lighthouse ran on https://deploy-preview-3484--asyncapi-website.netlify.app/

Copy link

codecov bot commented Dec 17, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 86.47%. Comparing base (2199c3b) to head (35e54a5).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3484   +/-   ##
=======================================
  Coverage   86.47%   86.47%           
=======================================
  Files          21       21           
  Lines         658      658           
=======================================
  Hits          569      569           
  Misses         89       89           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@gvensan gvensan changed the title Chore (blog): Added a new blog titled "Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal" chore: Added a new blog titled "Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal" Dec 17, 2024
@gvensan gvensan changed the title chore: Added a new blog titled "Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal" chore: added a new blog titled "Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal" Dec 17, 2024
@gvensan gvensan changed the title chore: added a new blog titled "Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal" chore: added a new blog titled - Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal Dec 17, 2024
@thulieblack thulieblack changed the title chore: added a new blog titled - Streamlining EDA Design with AsyncAPI Code Generation and PubSub+ Event Portal chore(blog): add streamlining EDA Design with AsyncAPI blog Dec 20, 2024
@thulieblack
Copy link
Member

Hey @gvensan I see the images and folders but not the blog .md file

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
markdown/blog/streamlining-eda-design.md (1)

41-41: Fix grammar issues for better readability

There are several grammar issues that should be addressed:

  1. Line 41: Add "an" before "event-driven architecture"
  2. Line 46: Add "the" before "context of EDA"
  3. Line 141: Replace "on" with "to" and add "an" before "Order Completed event"
-as part of event-driven architecture.
+as part of an event-driven architecture.

-In context of EDA
+In the context of EDA

-receives Order Completed event
+receives an Order Completed event

Also applies to: 46-46, 141-141

🧰 Tools
🪛 LanguageTool

[uncategorized] ~41-~41: Possible missing article found.
Context: ...driven APIs and applications as part of event-driven architecture. > An event portal...

(AI_HYDRA_LEO_MISSING_AN)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 24a52ca and fa4e18c.

📒 Files selected for processing (1)
  • markdown/blog/streamlining-eda-design.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
markdown/blog/streamlining-eda-design.md

[uncategorized] ~41-~41: Possible missing article found.
Context: ...driven APIs and applications as part of event-driven architecture. > An event portal...

(AI_HYDRA_LEO_MISSING_AN)


[uncategorized] ~46-~46: Possible missing article found.
Context: ...pplications”, Apr 9, 2021 In context of EDA, event portals serve three prima...

(AI_HYDRA_LEO_MISSING_THE)


[misspelling] ~91-~91: This word is normally spelled as one.
Context: ... Dependency Management:** Spring Boot’s auto-configuration and dependency management minimize boil...

(EN_COMPOUNDS_AUTO_CONFIGURATION)


[uncategorized] ~141-~141: The preposition ‘to’ seems more likely in this position.
Context: ... addition of appropriate business logic on these Spring applications, we should se...

(AI_HYDRA_LEO_REPLACE_ON_TO)


[uncategorized] ~141-~141: Possible missing article found.
Context: ...by the Order Management System receives Order Completed event asynchronously when it ...

(AI_HYDRA_LEO_MISSING_AN)

🪛 Markdownlint (0.37.0)
markdown/blog/streamlining-eda-design.md

112-112: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


128-128: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


24-24: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


56-56: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


61-61: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


72-72: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


77-77: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


95-95: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


104-104: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


110-110: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


125-125: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

🔇 Additional comments (2)
markdown/blog/streamlining-eda-design.md (2)

143-143: Verify the referenced GitHub repository

Let's verify if the referenced repository exists and contains the sample code.

✅ Verification successful

Repository exists and contains the expected code

The referenced GitHub repository exists and contains the complete code for the coffee shop application, including:

  • AsyncAPI documents for Order Management and Barista Station applications
  • Generated Spring Cloud Stream applications
  • Clear instructions for running the demo
  • Sample code demonstrating the event-driven architecture discussed in the blog post
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the GitHub repository exists and is accessible
gh repo view gvensan/ep-coffeeshop-design-to-code

Length of output: 6127


3-3: ⚠️ Potential issue

Update the blog post date

The post date is set to December 2024, which is in the future. This could cause issues with blog post sorting and RSS feeds. Please update it to the current date.

-date: 2024-12-17T18:14:40.065Z
+date: 2023-12-17T18:14:40.065Z

Likely invalid or redundant comment.

markdown/blog/streamlining-eda-design.md Outdated Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
markdown/blog/streamlining-eda-design.md (1)

112-121: Enhance code generation commands with version information

Consider adding version information and parameter explanations to make the commands more maintainable and educational.

# Install specific version of generator
npm install -g @asyncapi/[email protected]

# Generate Spring Cloud Stream application
asyncapi-generator \
  -p binder=solace        # Use Solace messaging system \
  -p artifactId=CoffeeShop  # Maven artifact ID \
  -p groupId=com.coffeeshop  # Maven group ID \
  -p javaPackage=com.coffeeshop.ordermanagement  # Base package for generated code \
  -p actuator=true        # Enable Spring Boot Actuator \
  "Order Management-0.1.0.json" \
  @asyncapi/[email protected] \
  -o "Order Management"

Also applies to: 128-137

🧰 Tools
🪛 Markdownlint (0.37.0)

112-112: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fa4e18c and 38cc26a.

📒 Files selected for processing (1)
  • markdown/blog/streamlining-eda-design.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
markdown/blog/streamlining-eda-design.md

[misspelling] ~91-~91: This word is normally spelled as one.
Context: ... Dependency Management:** Spring Boot’s auto-configuration and dependency management minimize boil...

(EN_COMPOUNDS_AUTO_CONFIGURATION)

🪛 Markdownlint (0.37.0)
markdown/blog/streamlining-eda-design.md

112-112: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


128-128: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


24-24: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


56-56: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


61-61: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


72-72: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


77-77: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


95-95: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


104-104: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


110-110: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


125-125: null
Images should have alternate text (alt text)

(MD045, no-alt-text)

🔇 Additional comments (3)
markdown/blog/streamlining-eda-design.md (3)

24-24: Add alt text to images for accessibility

Images are missing alt text, which is essential for accessibility and SEO.

Also applies to: 56-56, 61-61, 72-72, 77-77, 95-95, 104-104, 110-110, 125-125

🧰 Tools
🪛 Markdownlint (0.37.0)

24-24: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


3-3: ⚠️ Potential issue

Update the publication date

The blog post's date is set to December 2024, which is in the future. Please update it to the current date or when you plan to publish it.

-date: 2024-12-17T18:14:40.065Z
+date: 2023-12-17T18:14:40.065Z

Likely invalid or redundant comment.


143-143: Verify the sample repository

Let's verify the existence and contents of the referenced repository.

✅ Verification successful

Let me check the repository's content more thoroughly to verify if it contains the complete example code.


Let me check the contents of these directories to verify if they contain the complete example code.


Let me check the source code directories to verify if they contain actual implementation.


Let me check one level deeper into the source directories to verify the actual code implementation.


Repository link is valid and contains complete example code

The referenced repository exists and contains a complete implementation of the coffee shop example with three main components:

  • Barista Station: Contains order processing and inventory management
  • Order Management: Includes order creation and status tracking
  • Third Party Apps: Implements external integration points

Each component has proper Java implementation with relevant domain classes and application entry points. The repository structure and code organization align with the design concepts discussed in the blog post.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the repository exists and contains the example code
gh repo view gvensan/ep-coffeeshop-design-to-code --json description,isArchived,defaultBranch,languages

# Check for essential files
gh api repos/gvensan/ep-coffeeshop-design-to-code/contents \
  --jq '.[] | select(.type=="file") | .path'

Length of output: 1535


Script:

#!/bin/bash
# Check README content for project description and example details
gh api repos/gvensan/ep-coffeeshop-design-to-code/contents/README.md --raw

# Check if there are any directories that might contain code
gh api repos/gvensan/ep-coffeeshop-design-to-code/contents \
  --jq '.[] | select(.type=="dir") | .path'

Length of output: 1593


Script:

#!/bin/bash
# Check contents of the main directories
for dir in "Barista Station" "Order Management" "Third Party Apps"; do
  echo "Contents of '$dir':"
  gh api "repos/gvensan/ep-coffeeshop-design-to-code/contents/${dir}" \
    --jq '.[] | .path'
done

# Try to get README content with proper encoding
gh api repos/gvensan/ep-coffeeshop-design-to-code/contents/README.md \
  --jq '.content' | base64 -d

Length of output: 1148


Script:

#!/bin/bash
# Check contents of src directories
for dir in "Barista Station" "Order Management" "Third Party Apps"; do
  echo "Source contents of '$dir':"
  gh api "repos/gvensan/ep-coffeeshop-design-to-code/contents/${dir}/src" \
    --jq '.[] | .path'
done

# Try to get one of the README files to understand the project structure
gh api "repos/gvensan/ep-coffeeshop-design-to-code/contents/Barista Station/README.md" \
  --jq '.content' | tr -d '\n' | base64 --decode 2>/dev/null || echo "Failed to decode README"

Length of output: 1059


Script:

#!/bin/bash
# Check contents of main directories in src
for dir in "Barista Station" "Order Management" "Third Party Apps"; do
  echo "Main source contents of '$dir':"
  gh api "repos/gvensan/ep-coffeeshop-design-to-code/contents/${dir}/src/main" \
    --jq '.[] | .path'
done

# Try to check if there are any Java files in any of these directories
for dir in "Barista Station" "Order Management" "Third Party Apps"; do
  echo "Checking for Java files in '$dir':"
  gh api "repos/gvensan/ep-coffeeshop-design-to-code/git/trees/HEAD?recursive=1" \
    --jq '.tree[] | select(.path | startswith("'"${dir}"'") and endswith(".java")) | .path'
done

Length of output: 3442

markdown/blog/streamlining-eda-design.md Outdated Show resolved Hide resolved
markdown/blog/streamlining-eda-design.md Outdated Show resolved Hide resolved
@gvensan gvensan changed the title chore(blog): add streamlining EDA Design with AsyncAPI blog chore(blog): add 2 blogs a) streamlining EDA Design with AsyncAPI and b) Mastering Event-Driven Architectures - Why Solace Event Portal is Your AsyncAPI Ally Dec 23, 2024
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
markdown/blog/event-portal-your-asyncapi-ally.md (2)

24-24: Fix grammar in the introduction

Add the missing article "the" before "following options".

-To generate AsyncAPI documents, we have following options:
+To generate AsyncAPI documents, we have the following options:
🧰 Tools
🪛 LanguageTool

[grammar] ~24-~24: The article ‘the’ may be missing.
Context: ...To generate AsyncAPI documents, we have following options: * Hand Coding - Many teams still...

(HAVE_FOLLOWING_NN)


74-79: Improve markdown formatting consistency

Several markdown formatting issues need attention:

  1. Use consistent list markers (prefer asterisks over dashes)
  2. Add blank lines around tables for better readability
  3. Use proper heading syntax instead of bold text

Example fixes:

-![](/img/posts/event-portal-your-asyncapi-ally/what-is-event-portal.webp)
-**An Event Portal is like an API Portal, but with a focus on  events (vs. synchronous APIs)**
+![](/img/posts/event-portal-your-asyncapi-ally/what-is-event-portal.webp)
+
+### An Event Portal is like an API Portal, but with a focus on events (vs. synchronous APIs)

- _**Automation & Exportation**_
- Eliminates manual coding
+ * _**Automation & Exportation**_
+ * Eliminates manual coding

|  |  |
+
|---|---|
|**Issues** | _**Error-Prone:**_ High risk of syntax errors...|
+

Also applies to: 112-117, 33-37, 49-53, 65-65

🧰 Tools
🪛 Markdownlint (0.37.0)

74-74: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


75-75: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


76-76: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


77-77: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


78-78: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


79-79: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 38cc26a and ed9aad0.

📒 Files selected for processing (1)
  • markdown/blog/event-portal-your-asyncapi-ally.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
markdown/blog/event-portal-your-asyncapi-ally.md

[grammar] ~24-~24: The article ‘the’ may be missing.
Context: ...To generate AsyncAPI documents, we have following options: * Hand Coding - Many teams still...

(HAVE_FOLLOWING_NN)


[style] ~35-~35: ‘grows in size’ might be wordy. Consider a shorter alternative.
Context: ...ecomes unmanageable as the architecture grows in size and complexity.
_**Limited Collabor...

(EN_WORDINESS_PREMIUM_GROWS_IN_SIZE)


[grammar] ~113-~113: This phrase is duplicated. You should probably use “Event Portal” only once.
Context: ...portal-overview.htm) - Tools - PubSub+ Event Portal - [Event Portal for Apache Kafka](https://solace.com/pr...

(PHRASE_REPETITION)

🪛 Markdownlint (0.37.0)
markdown/blog/event-portal-your-asyncapi-ally.md

74-74: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


75-75: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


76-76: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


77-77: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


78-78: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


79-79: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


112-112: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


113-113: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


114-114: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


115-115: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


116-116: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


117-117: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


63-63: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


67-67: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


71-71: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


33-33: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


37-37: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


49-49: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

🔇 Additional comments (2)
markdown/blog/event-portal-your-asyncapi-ally.md (2)

1-117: LGTM! The blog post is well-written and informative

The content effectively explains the Event Portal concept and its benefits. The suggested improvements are mostly formatting-related and won't affect the technical accuracy of the content.

🧰 Tools
🪛 LanguageTool

[grammar] ~24-~24: The article ‘the’ may be missing.
Context: ...To generate AsyncAPI documents, we have following options: * Hand Coding - Many teams still...

(HAVE_FOLLOWING_NN)


[style] ~35-~35: ‘grows in size’ might be wordy. Consider a shorter alternative.
Context: ...ecomes unmanageable as the architecture grows in size and complexity.
_**Limited Collabor...

(EN_WORDINESS_PREMIUM_GROWS_IN_SIZE)


[grammar] ~113-~113: This phrase is duplicated. You should probably use “Event Portal” only once.
Context: ...portal-overview.htm) - Tools - PubSub+ Event Portal - [Event Portal for Apache Kafka](https://solace.com/pr...

(PHRASE_REPETITION)

🪛 Markdownlint (0.37.0)

74-74: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


75-75: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


76-76: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


77-77: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


78-78: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


79-79: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


112-112: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


113-113: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


114-114: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


115-115: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


116-116: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


117-117: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


63-63: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


67-67: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


71-71: null
Images should have alternate text (alt text)

(MD045, no-alt-text)


33-33: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


37-37: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


49-49: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


3-3: Update the publication date

The date is set to December 2024, which is in the future. This might affect content visibility and RSS feeds. Consider updating it to the current date or when you plan to publish the blog post.

markdown/blog/event-portal-your-asyncapi-ally.md Outdated Show resolved Hide resolved
@gvensan
Copy link
Author

gvensan commented Dec 23, 2024

Hey @gvensan I see the images and folders but not the blog .md file

Hi @thulieblack, I got things in order (also, checked in one more blog). Let me know if this is good. Thx

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
markdown/blog/streamlining-eda-design.md (1)

3-3: ⚠️ Potential issue

Update the publication date

The date is set to December 24, 2024, which is in the future.

🧹 Nitpick comments (3)
markdown/blog/event-portal-your-asyncapi-ally.md (2)

74-79: Maintain consistent list style

Use asterisks (*) for unordered lists to maintain consistency throughout the document.

-  - _**Automation & Exportation**_
-  - Eliminates manual coding
-  - Microservice interface is consistent with design
-  - _**Consistent Code**_
-  - Developers don't have to be experts in client libraries
-  - Create template with open-source tools
+  * _**Automation & Exportation**_
+  * Eliminates manual coding
+  * Microservice interface is consistent with design
+  * _**Consistent Code**_
+  * Developers don't have to be experts in client libraries
+  * Create template with open-source tools
🧰 Tools
🪛 Markdownlint (0.37.0)

74-74: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


75-75: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


76-76: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


77-77: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


78-78: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


79-79: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


112-117: Improve resource links section

  1. Use asterisks for consistent list style
  2. Remove redundant text in links
-- [Event Portal Overview](https://docs.solace.com/Cloud/Event-Portal/event-portal-overview.htm)
-- [Tools - PubSub+ Event Portal](https://docs.solace.com/Cloud/Event-Portal/event-portal-lp.htm)
-- [Event Portal for Apache Kafka](https://solace.com/products/portal/kafka/)
-- [Event Portal - Like an API Portal, but for events](https://solace.com/products/portal/)
-- [Designing Your Event-Driven Architecture](https://docs.solace.com/Cloud/Event-Portal/get-started-event-portal-designer.htm)
-- [Video: PubSub+ Event Portal 2.0 - Introduction](https://solace.com/resources/pubsub-event-portalpubsub-event-portal-2-0-introduction-video)
+* [Event Portal Overview](https://docs.solace.com/Cloud/Event-Portal/event-portal-overview.htm)
+* [Event Portal Tools](https://docs.solace.com/Cloud/Event-Portal/event-portal-lp.htm)
+* [Event Portal for Apache Kafka](https://solace.com/products/portal/kafka/)
+* [Event Portal](https://solace.com/products/portal/)
+* [Designing Your Event-Driven Architecture](https://docs.solace.com/Cloud/Event-Portal/get-started-event-portal-designer.htm)
+* [Event Portal 2.0 Introduction (Video)](https://solace.com/resources/pubsub-event-portalpubsub-event-portal-2-0-introduction-video)
🧰 Tools
🪛 LanguageTool

[grammar] ~113-~113: This phrase is duplicated. You should probably use “Event Portal” only once.
Context: ...portal-overview.htm) - Tools - PubSub+ Event Portal - [Event Portal for Apache Kafka](https://solace.com/pr...

(PHRASE_REPETITION)

🪛 Markdownlint (0.37.0)

112-112: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


113-113: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


114-114: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


115-115: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


116-116: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


117-117: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)

markdown/blog/streamlining-eda-design.md (1)

139-143: Fix inline code formatting

Use single backticks for inline code references instead of triple backticks.

-The Spring Cloud Stream microservice generated using this template will be a ready to run Spring Boot app. By default, the microservice will contain a java class, ```Application.java```, which includes methods to publish or subscribe events as defined in the AsyncAPI document. These generated methods include *Supplier*, *Consumer* and *Function* functional interfaces from the [```java.util.function```](https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html) package.
+The Spring Cloud Stream microservice generated using this template will be a ready to run Spring Boot app. By default, the microservice will contain a java class, `Application.java`, which includes methods to publish or subscribe events as defined in the AsyncAPI document. These generated methods include *Supplier*, *Consumer* and *Function* functional interfaces from the [`java.util.function`](https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html) package.
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ed9aad0 and 0f6079b.

📒 Files selected for processing (2)
  • markdown/blog/event-portal-your-asyncapi-ally.md (1 hunks)
  • markdown/blog/streamlining-eda-design.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
markdown/blog/event-portal-your-asyncapi-ally.md

[style] ~35-~35: ‘grows in size’ might be wordy. Consider a shorter alternative.
Context: ...ecomes unmanageable as the architecture grows in size and complexity.
_**Limited Collabor...

(EN_WORDINESS_PREMIUM_GROWS_IN_SIZE)


[grammar] ~113-~113: This phrase is duplicated. You should probably use “Event Portal” only once.
Context: ...portal-overview.htm) - Tools - PubSub+ Event Portal - [Event Portal for Apache Kafka](https://solace.com/pr...

(PHRASE_REPETITION)

markdown/blog/streamlining-eda-design.md

[misspelling] ~91-~91: This word is normally spelled as one.
Context: ... Dependency Management:** Spring Boot’s auto-configuration and dependency management minimize boil...

(EN_COMPOUNDS_AUTO_CONFIGURATION)

🪛 Markdownlint (0.37.0)
markdown/blog/event-portal-your-asyncapi-ally.md

74-74: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


75-75: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


76-76: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


77-77: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


78-78: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


79-79: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


112-112: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


113-113: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


114-114: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


115-115: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


116-116: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


117-117: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


33-33: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


37-37: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


49-49: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

markdown/blog/streamlining-eda-design.md

112-112: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


128-128: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (2)
markdown/blog/event-portal-your-asyncapi-ally.md (1)

63-63: Add alt text to images for accessibility

Images are missing alt text, which is essential for accessibility and SEO.

Also applies to: 67-67, 71-71

markdown/blog/streamlining-eda-design.md (1)

112-121: Add language specifiers to code blocks

Code blocks should specify the language for proper syntax highlighting.

Also applies to: 128-137

🧰 Tools
🪛 Markdownlint (0.37.0)

112-112: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

markdown/blog/event-portal-your-asyncapi-ally.md Outdated Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
markdown/blog/event-portal-your-asyncapi-ally.md (2)

33-37: Improve table formatting

Add blank lines before and after tables to comply with markdown standards and improve readability.

Example fix for the first table:

Creating AsyncAPI documents by hand may seem manageable for small, simple systems, but it quickly becomes unwieldy as complexity grows. 

|  |  |
|---|---|
| **Issues** | _**Error-Prone:**_ High risk of syntax errors, omissions, and inconsistencies in YAML/JSON documents.<br/>_**Time-Consuming:**_ Requires meticulous work, especially for large or complex systems.<br/>_**Hard to Scale:**_ Becomes unmanageable as the architecture grows in complexity.<br/>_**Limited Collaboration:**_ Non-technical stakeholders find it difficult to contribute or understand. |
| **Advantages** | _**Full Control:**_ Provides complete freedom to define the AsyncAPI document exactly as needed.<br/>_**Tool Independence:**_ No reliance on external platforms or tools.<br/>_**Flexibility**_: Can be used for unique, non-standard implementations. |
| **Disadvantages** | _**Lacks automation**_, increasing manual effort and maintenance overhead.<br/>_**Difficult to**_ maintain versioning or handle evolving systems effectively. |

Apply similar formatting to other tables in the document.

Also applies to: 41-45, 49-53

🧰 Tools
🪛 LanguageTool

[style] ~35-~35: ‘grows in size’ might be wordy. Consider a shorter alternative.
Context: ...ecomes unmanageable as the architecture grows in size and complexity.
_**Limited Collabor...

(EN_WORDINESS_PREMIUM_GROWS_IN_SIZE)

🪛 Markdownlint (0.37.0)

33-33: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


37-37: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


63-63: Use markdown native image syntax

Consider using markdown native syntax for images instead of HTML tags. The centering can be achieved through CSS styling.

Example fix:

-<p align="center"><img src="/img/posts/event-portal-your-asyncapi-ally/what-is-event-portal.webp" alt="What is Event Portal" /></p>
+![What is Event Portal](/img/posts/event-portal-your-asyncapi-ally/what-is-event-portal.webp)

Apply similar changes to other images in the document.

Also applies to: 67-67, 71-71

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ac5b790 and 35e54a5.

📒 Files selected for processing (1)
  • markdown/blog/event-portal-your-asyncapi-ally.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
markdown/blog/event-portal-your-asyncapi-ally.md

[style] ~35-~35: ‘grows in size’ might be wordy. Consider a shorter alternative.
Context: ...ecomes unmanageable as the architecture grows in size and complexity.
_**Limited Collabor...

(EN_WORDINESS_PREMIUM_GROWS_IN_SIZE)

🪛 Markdownlint (0.37.0)
markdown/blog/event-portal-your-asyncapi-ally.md

33-33: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


37-37: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


49-49: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

🔇 Additional comments (3)
markdown/blog/event-portal-your-asyncapi-ally.md (3)

3-3: Update the publication date

The date is set to December 24, 2024, which is in the future. This could cause issues with content indexing and RSS feeds.


5-5: Verify canonical URL configuration

The canonical URL points to Solace's blog. Please confirm if this is intentional, as it might affect SEO and search engine indexing for the AsyncAPI website.


20-126: Well-structured and comprehensive content

The content is well-organized, providing a thorough comparison of different approaches to generating AsyncAPI documents and effectively explaining the benefits of the Event Portal. The use of tables and lists makes the information easily digestible.

🧰 Tools
🪛 LanguageTool

[style] ~35-~35: ‘grows in size’ might be wordy. Consider a shorter alternative.
Context: ...ecomes unmanageable as the architecture grows in size and complexity.
_**Limited Collabor...

(EN_WORDINESS_PREMIUM_GROWS_IN_SIZE)

🪛 Markdownlint (0.37.0)

33-33: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


37-37: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


49-49: null
Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants