Skip to content

Conversation

@Ferror
Copy link
Contributor

@Ferror Ferror commented Sep 10, 2025

Initial step for TransferGo case-study. Looking forward for suggestions and possible next steps 😄

Summary by CodeRabbit

  • New Features

    • Added a TransferGo case study with a public AsyncAPI remittance event-bus spec, AWS SNS/SQS channels, and a sample remittance message (RemittanceTransactionRequested).
    • Introduces a comprehensive event catalog and published workflow for consuming and publishing remittance events.
  • Documentation

    • Adds challenge/solution narratives, technical posture (architecture, CI/CD, contract testing, tooling), detailed remittance contract (sender/receiver, amount, currency, paymentMethod) and example payload.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 10, 2025

Walkthrough

Adds two new TransferGo case study artifacts: a YAML case study config at config/casestudies/transfergo.yml and an AsyncAPI spec at public/resources/casestudies/transfergo/asyncapi.yaml describing a remittance event bus, its schemas, channels (~300), and publishing/contract-testing workflows.

Changes

Cohort / File(s) Summary
Case study config (new)
config/casestudies/transfergo.yml
Adds TransferGo case study YAML with public metadata (id, company, website, logo, contact), challenges and solution narratives, detailed technical posture (languages, frameworks, brokers, SNS/SQS, Kafka, workers), schema management (storage, registry, versioning, validation), AsyncAPI ecosystem and publishing workflow (CI/CD, S3, Port.io), contract testing references (Microcks, LocalStack), tooling/extensions, and pointer to full AsyncAPI example.
AsyncAPI spec (new)
public/resources/casestudies/transfergo/asyncapi.yaml
Adds AsyncAPI 3.0.0 spec for a Remittance Service Event Bus using AWS SNS/SQS. Defines AWS server variables (service enum: sns,sqs; region default us-east-1), two channels (remittance-transactions-topic, remittance-transactions-queue), publish/consume operations, RemittanceTransactionRequested message schema (required fields: transactionId (uuid), transactionType, createdAt (date-time), sender/receiver objects with name/email/country, amount (number), currency, paymentMethod enum), and an example payload.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Dev as Developer
  participant Repo as Git Repo
  participant CI as Jenkins CI
  participant Validator as AsyncAPI Validator
  participant S3 as S3 (artifact store)
  participant Portal as Port.io (Developer Portal)
  participant Catalog as Event Catalog
  participant CT as Contract Testing (Microcks/LocalStack)

  rect rgb(245,250,245)
    Note over Dev,Repo: Author and push case study + AsyncAPI spec
  end

  Dev->>Repo: push PR with `config/casestudies/transfergo.yml` and AsyncAPI
  Repo->>CI: trigger pipeline
  CI->>Validator: validate AsyncAPI + schemas
  Validator-->>CI: validation result

  alt validation success
    CI->>S3: upload AsyncAPI artifacts
    CI->>Portal: publish to Port.io
    Portal->>Catalog: register channels (~300)
    Catalog->>CT: invoke contract tests
    CT-->>CI: test/report results
  else validation failure
    CI->>Dev: report errors / fail job
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

I twitch my whiskers, nose on the stream,
A YAML hop toward an async dream.
Topics bloom, queues hum in rows,
Pipelines fetch where the event wind blows.
I nudge a schema — the catalog grows. 🐰

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly indicates the primary change by adding the initial TransferGo case study, which matches the new configuration and AsyncAPI resources introduced in this pull request. It is concise, specific, and provides a clear summary of the main intent.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

@netlify
Copy link

netlify bot commented Sep 10, 2025

Deploy Preview for asyncapi-website ready!

Name Link
🔨 Latest commit 785c2db
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/68d4ef4ebdf6160008bac5b8
😎 Deploy Preview https://deploy-preview-4409--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 project configuration.

@Ferror Ferror changed the title Initial TransferGo CaseStudy feat: Initial TransferGo CaseStudy Sep 10, 2025
@codecov
Copy link

codecov bot commented Sep 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (78769a8) to head (785c2db).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #4409   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          778       778           
  Branches       144       144           
=========================================
  Hits           778       778           

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@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: 5

🧹 Nitpick comments (3)
config/casestudies/transfergo.yml (3)

22-23: Brand/style nits: “Port” and “EventCatalog”

Use “Port Developer Portal” (brand: Port) and “EventCatalog”. Minor, but improves consistency.

-  Schemas are stored in S3 and surfaced through Port.io Developer Portal
+  Schemas are stored in S3 and surfaced through Port Developer Portal
@@
-    Schemas are stored in GitHub repositories and automatically published to an S3 bucket. Port.io Developer Portal ingests these schemas
+    Schemas are stored in GitHub repositories and automatically published to an S3 bucket. Port Developer Portal ingests these schemas
@@
-    * [Port.io Developer Portal](https://port.io)
-    * [Event Catalog](https://www.eventcatalog.dev/)
+    * Port Developer Portal
+    * EventCatalog

Also applies to: 68-71, 85-86


20-25: CI tool references look mixed (Jenkins vs GH Actions)

You mention Jenkins (validation/testing) and GitHub Actions (publishing/validation). If both are true, clarify scope to avoid reader confusion; if not, pick the accurate one.

Also applies to: 68-71


27-33: Normalize language slugs across all case studies
Entries vary between “.NET” vs “.net”, “C#” vs no other C# usage, “node.js” vs potential “nodejs”, and inconsistent casing (“Java” vs “java”, “javascript” vs “JavaScript”). Align on a single taxonomy (e.g. dotnet, csharp, nodejs, javascript) to ensure validator compatibility.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7f53694 and ba23d1f.

⛔ Files ignored due to path filters (1)
  • public/img/casestudies/transfergo/logo.svg is excluded by !**/*.svg
📒 Files selected for processing (1)
  • config/casestudies/transfergo.yml (1 hunks)
🧰 Additional context used
🪛 GitHub Actions: Validate case studies structures
config/casestudies/transfergo.yml

[error] 1-1: Step: actions/github-script@v6 - config/casestudies/transfergo.yml is invalid.

⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Lighthouse CI
  • GitHub Check: Test NodeJS PR - windows-latest
  • GitHub Check: Test NodeJS PR - macos-13
🔇 Additional comments (3)
config/casestudies/transfergo.yml (3)

9-9: Logo asset exists and path is correct

Verified that public/img/casestudies/transfergo/logo.svg is present and the configured path /img/casestudies/transfergo/logo.svg will render without errors.


6-8: Standardize customers and industry fields

  • customers values vary (e.g. "5000", 500M, "over 8 million"); align with schema (likely a numeric string)
  • industry should match the defined enum (e.g. Insurance, Retail, Fintech) without free-text or slashes

Confirm the case-studies schema/types and update config/casestudies/transfergo.yml accordingly.


1-1: All case study IDs match their filenames and are unique—no changes required.

@derberg derberg changed the title feat: Initial TransferGo CaseStudy chore: initial TransferGo CaseStudy Sep 12, 2025
Copy link
Member

@derberg derberg left a comment

Choose a reason for hiding this comment

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

@Ferror thanks a lot for the PR

you need to followup and provide full example as a file under resources/casestudies/transfergo/asyncapi.yaml

@Ferror Ferror requested a review from derberg September 16, 2025 17:01
@asyncapi-bot
Copy link
Contributor

asyncapi-bot commented Sep 16, 2025

⚡️ Lighthouse report for the changes in this PR:

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

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

Copy link
Contributor

@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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
public/resources/casestudies/transfergo/asyncapi.yaml (1)

1-140: Validate AsyncAPI spec and fix config path linkage.

  • config/casestudies/transfergo.yml (line 78) references resources/casestudies/transfergo/asyncapi.yaml but the actual file is at public/resources/casestudies/transfergo/asyncapi.yaml — update the config to the public/... path or move/symlink the file so the referenced path exists.
  • AsyncAPI validation did not run: asyncapi CLI not found. Ensure asyncapi is installed in dev/CI and run asyncapi validate public/resources/casestudies/transfergo/asyncapi.yaml and fix any schema errors before merging.
🧹 Nitpick comments (5)
public/resources/casestudies/transfergo/asyncapi.yaml (5)

26-46: Add AWS bindings for SNS topic and SQS queue.

Bindings make this portable and actionable in tooling.

   sns/remittance-transactions-topic:
     description: SNS topic for remittance transaction events.
+    bindings:
+      sns:
+        topicName: remittance-transactions-topic
+        fifo: false
+        rawMessageDelivery: true
     publish:
       operationId: publishRemittanceTransactionToSNS
       summary: Publish RemittanceTransactionRequested event to SNS topic
       message:
         $ref: '#/components/messages/RemittanceTransactionRequested'

   sqs/remittance-transactions-queue:
     description: SQS queue that receives messages forwarded from SNS topic via subscription.
+    bindings:
+      sqs:
+        queueName: remittance-transactions-queue
+        fifo: false
+        visibilityTimeout: 30
+        deadLetter:
+          enabled: false
     subscribe:
       operationId: consumeRemittanceTransactionFromSQS
       summary: Consumer service polls SQS to consume RemittanceTransactionRequested events.
+      bindings:
+        sqs:
+          batch:
+            maxMessages: 10
       message:
         $ref: '#/components/messages/RemittanceTransactionRequested'

11-24: Add AWS SigV4 security (and consider explicit SNS/SQS servers).

If you keep protocol=https, declare SigV4 so docs are accurate. Optionally split servers for SNS and SQS.

 servers:
   aws:
     url: 'https://{service}.{region}.amazonaws.com'
     protocol: https
     description: AWS endpoints for SNS and SQS.
     variables:
       service:
         enum:
           - sns
           - sqs
         default: sns
       region:
         default: us-east-1
         description: AWS region used for the SNS/SQS resources.
+    security:
+      - awsSigV4: []
+
+components:
+  securitySchemes:
+    awsSigV4:
+      type: apiKey
+      in: header
+      name: Authorization
+      description: AWS Signature Version 4 Authorization header (also requires x-amz-date).

48-122: Tighten the message contract: correlationId, headers, and schema constraints.

Strengthens observability and reduces invalid payloads.

   messages:
     RemittanceTransactionRequested:
       name: RemittanceTransactionRequested
       title: Remittance Transaction Requested
       summary: Event emitted when a user requests to send money cross-border.
       contentType: application/json
+      headers:
+        type: object
+        properties:
+          x-trace-id:
+            type: string
+            description: End-to-end trace identifier.
+      correlationId:
+        description: Correlates all events for a given transaction.
+        location: "$message.payload#/transactionId"
       payload:
         type: object
         required:
           - transactionId
           - transactionType
           - createdAt
           - sender
           - receiver
           - amount
           - currency
           - paymentMethod
         properties:
           transactionId:
             type: string
             format: uuid
             description: Unique transaction identifier.
           transactionType:
-            type: string
-            description: Type of transaction.
+            type: string
+            description: Type of transaction.
+            enum: ["remittance.requested"]
           createdAt:
             type: string
             format: date-time
             description: ISO8601 timestamp for when the request was made.
           sender:
             type: object
             required:
               - name
               - email
               - country
             properties:
               name:
                 type: string
               email:
                 type: string
                 format: email
               country:
                 type: string
                 description: ISO 3166-1 alpha-2 country code
+                pattern: '^[A-Z]{2}$'
           receiver:
             type: object
             required:
               - name
               - email
               - country
             properties:
               name:
                 type: string
               email:
                 type: string
                 format: email
               country:
                 type: string
                 description: ISO 3166-1 alpha-2 country code
+                pattern: '^[A-Z]{2}$'
           amount:
             type: number
             format: double
             description: Amount requested to transfer.
+            exclusiveMinimum: 0
           currency:
             type: string
             description: ISO 4217 currency code.
+            pattern: '^[A-Z]{3}$'
           paymentMethod:
             type: string
             description: Payment method used to fund the transaction.
             enum:
               - card
               - wire_transfer
               - bank_account

79-107: DRY sender/receiver with reusable schemas.

Define Party once and $ref it to avoid drift.

 components:
+  schemas:
+    Party:
+      type: object
+      required: [name, email, country]
+      properties:
+        name: { type: string }
+        email: { type: string, format: email }
+        country: { type: string, pattern: '^[A-Z]{2}$', description: ISO 3166-1 alpha-2 country code }
   messages:
     RemittanceTransactionRequested:
       ...
       payload:
         type: object
         properties:
           sender:
-            type: object
-            required: [name, email, country]
-            properties: { ... }
+            $ref: '#/components/schemas/Party'
           receiver:
-            type: object
-            required: [name, email, country]
-            properties: { ... }
+            $ref: '#/components/schemas/Party'

Also applies to: 100-107


1-4: Upgrade AsyncAPI to v3.0.1 and use v3-compatible tooling

v3.0.1 (released 2023-12-13) is the latest stable spec and is supported by official AsyncAPI tooling — update public/resources/casestudies/transfergo/asyncapi.yaml (asyncapi: '3.0.1') and ensure the site uses v3-capable packages (e.g. @asyncapi/parser 3.x, generator/react component updates); if your site cannot use v3 tooling yet, keep 2.6.0.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0eb3ac0 and 2ff6525.

📒 Files selected for processing (1)
  • public/resources/casestudies/transfergo/asyncapi.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Test NodeJS PR - windows-latest
  • GitHub Check: Lighthouse CI

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Contributor

@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 (6)
public/resources/casestudies/transfergo/asyncapi.yaml (6)

11-24: Consider separate servers for SNS and SQS for clarity.

Splitting the single templated server into two named servers improves readability and tool UX (explicit target per channel).

Apply:

-servers:
-  aws:
-    url: 'https://{service}.{region}.amazonaws.com'
-    protocol: https
-    description: AWS endpoints for SNS and SQS.
-    variables:
-      service:
-        enum:
-          - sns
-          - sqs
-        default: sns
-      region:
-        default: us-east-1
-        description: AWS region used for the SNS/SQS resources.
+servers:
+  sns:
+    url: 'https://sns.{region}.amazonaws.com'
+    protocol: https
+    description: AWS SNS endpoint.
+    variables:
+      region:
+        default: us-east-1
+        description: AWS region used for the SNS topic.
+  sqs:
+    url: 'https://sqs.{region}.amazonaws.com'
+    protocol: https
+    description: AWS SQS endpoint.
+    variables:
+      region:
+        default: us-east-1
+        description: AWS region used for the SQS queue.

104-106: Drop non‑portable number format.

format: double isn’t defined in JSON Schema and can trigger tooling warnings. Use plain number (optional constraints if needed).

           amount:
             type: number
-            format: double
             description: Amount requested to transfer.

86-88: Add basic format validation for country and currency codes.

Enforce ISO shapes to catch typos early.

               country:
                 type: string
-                description: ISO 3166-1 alpha-2 country code
+                description: ISO 3166-1 alpha-2 country code
+                pattern: '^[A-Z]{2}$'
...
               country:
                 type: string
-                description: ISO 3166-1 alpha-2 country code
+                description: ISO 3166-1 alpha-2 country code
+                pattern: '^[A-Z]{2}$'
...
           currency:
             type: string
             description: ISO 4217 currency code.
+            pattern: '^[A-Z]{3}$'

Also applies to: 100-103, 108-109


61-116: Tighten schema: amount lower bound and optional enums.

  • Add a minimum for positive transfers.
  • Consider constraining transactionType if it follows a known taxonomy.
           transactionType:
             type: string
             description: Type of transaction.
+            # enum: [remittance.requested]  # uncomment if taxonomy is fixed
...
           amount:
             type: number
             description: Amount requested to transfer.
+            minimum: 0.01
+            exclusiveMinimum: true

45-49: Consider message headers and correlation ID for tracing/idempotency.

Model a correlation ID (and optional traceparent) in headers to support SQS redeliveries and cross‑service tracing.

     RemittanceTransactionRequested:
       name: RemittanceTransactionRequested
       title: Remittance Transaction Requested
       summary: Event emitted when a user requests to send money cross-border.
       contentType: application/json
+      headers:
+        type: object
+        properties:
+          x-correlation-id:
+            type: string
+            description: Correlates related events/requests.
+          traceparent:
+            type: string
+            description: W3C Trace Context header.
+      correlationId:
+        description: Correlates messages for a single transaction/request.
+        location: "$message.headers#/x-correlation-id"

Please validate the JSON Pointer for correlationId with your AsyncAPI tooling (Studio/CLI) to ensure compatibility.


35-41: Document at‑least‑once and idempotency at the consumer.

SQS delivers at‑least‑once and may redeliver; suggest noting idempotent consumption keyed by transactionId.

You can append a short note to the subscribe operation summary/description about deduplication/idempotency expectations.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2ff6525 and d684d57.

📒 Files selected for processing (1)
  • public/resources/casestudies/transfergo/asyncapi.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Redirect rules - asyncapi-website
  • GitHub Check: Header rules - asyncapi-website
  • GitHub Check: Pages changed - asyncapi-website
  • GitHub Check: Test NodeJS PR - windows-latest
  • GitHub Check: Test NodeJS PR - macos-13
🔇 Additional comments (2)
public/resources/casestudies/transfergo/asyncapi.yaml (2)

26-41: Correct SNS publish and SQS subscribe semantics.

Good fix: the producer publishes to SNS and the consumer subscribes to SQS; broker fan‑out isn’t modeled as an app publish.


117-135: Good, realistic example payload.

Covers all required fields and matches schema; helpful for docs and tests.

@derberg
Copy link
Member

derberg commented Sep 18, 2025

looking great https://deploy-preview-4409--asyncapi-website.netlify.app/casestudies/transfergo ❤️

I left you some feedback in DM. One more thing, can you please add links to tools, especially open source, that you mention in the PR? when published on the website, especially so popular like ours, it is good for the open source projects to get better SEO results. You know, links to their websites, if they exists of course, like the one for Microcks and Event Catalog, and if it doesn't, then GH link

Ferror and others added 3 commits September 24, 2025 20:42
Co-authored-by: Lukasz Gornicki <lpgornicki@gmail.com>
Added links to Event Catalog and Microcks in the documentation for better accessibility.
Copy link
Member

@derberg derberg left a comment

Choose a reason for hiding this comment

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

well done, can't wait to see the blog post

Copy link
Contributor

@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 (5)
config/casestudies/transfergo.yml (5)

22-22: Brand/style consistency and linking: “Port Developer Portal”

Use official naming and add a link on first mention.

-  For accessibility, TransferGo automated publishing of AsyncAPI definitions using GitHub Actions. Schemas are stored in S3 and surfaced through Port.io Developer Portal, providing a single interface for developers to browse, search, and visualize service contracts.
+  For accessibility, TransferGo automated publishing of AsyncAPI definitions using GitHub Actions. Schemas are stored in S3 and surfaced through the [Port Developer Portal](https://www.port.io/), providing a single interface for developers to browse, search, and visualize service contracts.

61-62: Reference “Port Developer Portal” consistently

Align naming and link.

-    Schemas are stored in GitHub repositories and automatically published to an S3 bucket. Port.io Developer Portal ingests these schemas to make them accessible to developers.
+    Schemas are stored in GitHub repositories and automatically published to an S3 bucket. The [Port Developer Portal](https://www.port.io/) ingests these schemas to make them accessible to developers.

73-73: Reference “Port Developer Portal” consistently

Align naming and link.

-    AsyncAPI React component was initially used for rendering. Today, Port.io Developer Portal serves as the central platform, presenting all AsyncAPI schemas in a unified, visual interface.
+    AsyncAPI React component was initially used for rendering. Today, the [Port Developer Portal](https://www.port.io/) serves as the central platform, presenting all AsyncAPI schemas in a unified, visual interface.

41-42: Add links for tools mentioned in narrative (SEO + clarity)

Link Microcks and LocalStack here too.

-  testing: |
-    Contract testing with Microcks and LocalStack integrated into Jenkins CI, validating message-driven services without requiring cloud infrastructure.
+  testing: |
+    Contract testing with [Microcks](https://microcks.io/) and [LocalStack](https://www.localstack.cloud/) integrated into Jenkins CI, validating message-driven services without requiring cloud infrastructure.

27-33: Normalize casing for languages/runtimes

Improves consistency.

   languages:
-    - php
-    - .NET
-    - C#
-    - javascript
-    - node.js
+    - PHP
+    - C#
+    - .NET
+    - JavaScript
+    - Node.js
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 865b336 and 785c2db.

📒 Files selected for processing (1)
  • config/casestudies/transfergo.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Redirect rules - asyncapi-website
🔇 Additional comments (5)
config/casestudies/transfergo.yml (5)

40-40: brokers should be a YAML list (not a comma-separated string)

Prevents schema/type validation failures.

-  brokers: AWS SNS/SQS, Kafka
+  brokers:
+    - AWS SNS
+    - AWS SQS
+    - Kafka

51-51: registry should be null (avoid prose in scalar field)

Keep distribution details in storage/documentation.

-  registry: None, schemas are distributed via S3 and Port.io Developer Portal.
+  registry: null

55-58: asyncapi.usecase must be a list, not a block string

YAML block string won’t pass list validation.

-  usecase: |
-    TransferGo uses AsyncAPI to unify async API documentation across services, generate schemas from code via internal libraries, validate and optimize schemas in CI pipelines, publish schemas to Port.io Developer Portal for centralized access, build an [Event Catalog](https://www.eventcatalog.dev/) for visibility into 300+ channels, and support contract testing with [Microcks](https://microcks.io/).
+  usecase:
+    - Unify async API documentation across services.
+    - Generate schemas from code via internal libraries.
+    - Validate and optimize schemas in CI pipelines.
+    - Publish schemas to the Port Developer Portal for centralized access.
+    - Build an Event Catalog for visibility into 300+ channels.
+    - Support contract testing with Microcks.

70-75: Replace “None” block scalars with empty lists for extensions/bindings

Avoids type mismatches.

-  extensions: |
-    None
+  extensions: []
   documentation: |
     AsyncAPI React component was initially used for rendering. Today, Port.io Developer Portal serves as the central platform, presenting all AsyncAPI schemas in a unified, visual interface.
-  bindings: |
-    None
+  bindings: []

76-77: tools should be an array, not a markdown block

Keep it as a list of names; links are already present in narrative text for SEO.

-  tools: |
-    TransferGo relies on [AsyncAPI CLI](https://github.com/asyncapi/cli), [AsyncAPI React](https://github.com/asyncapi/asyncapi-react), [AsyncAPI Modelina](https://github.com/asyncapi/modelina), [Port.io Developer Portal](https://www.port.io/), [Event Catalog](https://www.eventcatalog.dev/), [Microcks](https://microcks.io/), [LocalStack](https://github.com/localstack/localstack), and API Guardian (internal CLI).
+  tools:
+    - AsyncAPI CLI
+    - AsyncAPI React
+    - Modelina
+    - Port Developer Portal
+    - Event Catalog
+    - Microcks
+    - LocalStack
+    - API Guardian

None
tools: |
TransferGo relies on [AsyncAPI CLI](https://github.com/asyncapi/cli), [AsyncAPI React](https://github.com/asyncapi/asyncapi-react), [AsyncAPI Modelina](https://github.com/asyncapi/modelina), [Port.io Developer Portal](https://www.port.io/), [Event Catalog](https://www.eventcatalog.dev/), [Microcks](https://microcks.io/), [LocalStack](https://github.com/localstack/localstack), and API Guardian (internal CLI).
fullExample: resources/casestudies/transfergo/asyncapi.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

🧩 Analysis chain

Verify fullExample path resolves (likely needs leading slash)

The AsyncAPI file appears at public/resources/casestudies/transfergo/asyncapi.yaml. Config usually references it as “/resources/...”.

If needed:

-  fullExample: resources/casestudies/transfergo/asyncapi.yaml
+  fullExample: /resources/casestudies/transfergo/asyncapi.yaml

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Configured path in YAML:"
rg -nC0 -N '^  fullExample:' config/casestudies/transfergo.yml

echo
echo "Check if file exists at repo path:"
fd -a 'asyncapi.yaml' public | sed 's#^# - #'

echo
echo "Recommend updating to a leading-slash web path if the site expects public-rooted URLs."

Length of output: 425


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Listing fullExample in other case study configs:"
rg -n "fullExample:" config/casestudies/*.yml

Length of output: 321


Prefix fullExample paths with a leading slash in all case study configs

Each AsyncAPI file lives under public/resources/…, so fullExample must start with “/resources/…”.

  • config/casestudies/transfergo.yml (line 78)
    - fullExample: resources/casestudies/transfergo/asyncapi.yaml
    + fullExample: /resources/casestudies/transfergo/asyncapi.yaml
  • config/casestudies/hdi.yml (line 232)
    - fullExample: resources/casestudies/hdi/asyncapi.yaml
    + fullExample: /resources/casestudies/hdi/asyncapi.yaml
  • config/casestudies/adeo.yml (line 278)
    - fullExample: resources/casestudies/adeo/asyncapi.yaml
    + fullExample: /resources/casestudies/adeo/asyncapi.yaml
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
fullExample: resources/casestudies/transfergo/asyncapi.yaml
fullExample: /resources/casestudies/transfergo/asyncapi.yaml
🤖 Prompt for AI Agents
In config/casestudies/transfergo.yml around line 78, the fullExample path is
missing a leading slash; update the value from
"resources/casestudies/transfergo/asyncapi.yaml" to start with
"/resources/casestudies/transfergo/asyncapi.yaml" so the path points to
public/resources/...; apply the same leading-slash convention to other case
study config files noted in the review.

@derberg
Copy link
Member

derberg commented Sep 25, 2025

/rtm

@asyncapi-bot asyncapi-bot merged commit 54b7241 into asyncapi:master Sep 25, 2025
25 checks passed
@Ferror Ferror deleted the transfergo-case-study branch September 25, 2025 12:22
princerajpoot20 added a commit to princerajpoot20/website that referenced this pull request Dec 30, 2025
commit 785c358
Author: Abhishek <abhiifour@gmail.com>
Date:   Fri Dec 26 18:24:01 2025 +0530

    fix: horizontal scrollbar appearing in Tools flyout menu (asyncapi#4653)

    Co-authored-by: abhi <abhiifour@gmail.com>
    Co-authored-by: Prince Rajpoot <prince.rajpoot.20@gmail.com>

commit 6521774
Author: DuskWarden <pawar96sameer@gmail.com>
Date:   Fri Dec 26 12:38:06 2025 +0530

    fix: remove deprecated AddThis script and styles (asyncapi#4781)

    Co-authored-by: DuskWarden <pawar96sameer@gmail.com>

commit a2fae36
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Dec 25 01:45:34 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4772)

commit e917b0d
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Dec 23 14:23:54 2025 +0100

    docs(generator): update latest generator documentation (asyncapi#4719)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>

commit ced4c27
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Dec 23 14:16:40 2025 +0100

    docs(generator): update latest generator documentation (asyncapi#4718)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 6676a43
Author: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>
Date:   Tue Dec 23 15:02:03 2025 +0200

    chore(blog): add last summary (asyncapi#4699)

    Co-authored-by: thulieblack <sibanda.thulie@gmail.com>
    Co-authored-by: Ansh Goyal <anshgoyal1704@gmail.com>
    Co-authored-by: Lukasz Gornicki <lpgornicki@gmail.com>

commit 65c10bb
Author: Vishvamsinh Vaghela <90895835+vishvamsinh28@users.noreply.github.com>
Date:   Mon Dec 22 10:19:06 2025 +0530

    feat: replace bitly urls with netlify redirect (asyncapi#4647)

    Co-authored-by: Vishvamsinh Vaghela <vaghelavishvamsinh11111@gmail.com>
    Co-authored-by: Prince Rajpoot <prince.rajpoot.20@gmail.com>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>
    Co-authored-by: Ansh Goyal <anshgoyal1704@gmail.com>

commit f604d92
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Dec 22 01:47:53 2025 +0100

    chore: update tools.json (asyncapi#4754)

commit 624747e
Author: DuskWarden <pawar96sameer@gmail.com>
Date:   Sun Dec 21 22:35:40 2025 +0530

    fix: prevent background scroll when roadmap modal is open (asyncapi#4710)

    Co-authored-by: DuskWarden <pawar96sameer@gmail.com>
    Co-authored-by: Ansh Goyal <anshgoyal1704@gmail.com>

commit 52eca18
Author: Shriya Chauhan <78415084+Shriya-Chauhan@users.noreply.github.com>
Date:   Sun Dec 21 21:59:40 2025 +0530

    fix: fixes the failing CI/CD test in .github/workflows/if-nodejs-pr-testing.yml across all platforms (asyncapi#4735)

    Co-authored-by: Shriya-Chauhan <auroralflower@gmail.com>
    Co-authored-by: Ansh Goyal <anshgoyal1704@gmail.com>

commit 3a1ca24
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 19 01:45:53 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4742)

commit 98637a0
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Dec 18 17:58:38 2025 +0100

    docs(community): update latest community documentation (asyncapi#4733)

commit a293c4f
Author: Ashmit JaiSarita Gupta <43639341+devilkiller-ag@users.noreply.github.com>
Date:   Thu Dec 18 18:51:08 2025 +0530

    feat: updated filters dropdown and created stories for it (asyncapi#3174)

    Co-authored-by: devilkiller-ag <ashmitgupta.official@gmail.com>
    Co-authored-by: asyncapi-bot <bot+chan@asyncapi.io>
    Co-authored-by: Rohit <108233235+TRohit20@users.noreply.github.com>
    Co-authored-by: Ansh Goyal <anshgoyal1704@gmail.com>
    Co-authored-by: Miles Porter <milesxporter@gmail.com>

commit 1a97aff
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Dec 18 10:23:59 2025 +0100

    docs(community): update latest community documentation (asyncapi#4731)

commit bc768aa
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Dec 18 10:23:57 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4721)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 25a3892
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Dec 18 01:44:36 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4730)

commit b927d5d
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Dec 17 17:05:08 2025 +0100

    docs(cli): update latest cli documentation (asyncapi#4728)

commit 83e282a
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Dec 16 06:03:54 2025 +0100

    chore: update tools.json (asyncapi#4715)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 3c04219
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Dec 15 18:53:51 2025 +0100

    docs(community): update latest community documentation (asyncapi#4716)

commit 3d2ec88
Author: DuskWarden <pawar96sameer@gmail.com>
Date:   Mon Dec 15 09:46:16 2025 +0530

    docs: fix broken community repository links (asyncapi#4600)

    Co-authored-by: DuskWarden <pawar96sameer@gmail.com>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>
    Co-authored-by: Chan <bot+chan@asyncapi.io>
    Co-authored-by: Prince Rajpoot <prince.rajpoot.20@gmail.com>

commit 9c3dcd6
Author: Chan <bot+chan@asyncapi.io>
Date:   Sat Dec 13 01:45:08 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4707)

commit eeed68c
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 12 01:45:00 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4696)

commit 1e63086
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Dec 8 01:47:51 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4695)

commit f6d7df5
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Dec 8 01:47:46 2025 +0100

    chore: update tools.json (asyncapi#4692)

commit 0dafc8b
Author: Souryavardhan singh <144201791+Sourya07@users.noreply.github.com>
Date:   Sun Dec 7 17:17:33 2025 +0530

    fix: ensure unique TOC slugs for repeated headings(Examples) (asyncapi#4593)

    Co-authored-by: Sourya07 <singhsourya137@gmail.com>
    Co-authored-by: Sambhav Gupta <81870866+sambhavgupta0705@users.noreply.github.com>

commit a056c20
Author: Varshitha Besthavemula <152318309+batchu5@users.noreply.github.com>
Date:   Sun Dec 7 13:47:47 2025 +0530

    chore: add php, laravel and symphony in tage-color.ts (asyncapi#4667)

    Co-authored-by: Varshitha Besthavemula <varshithabesthavemula@gmail.com>

commit a677dc6
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 17:52:47 2025 +0100

    docs(community): update latest Board and TSC members list (asyncapi#4665)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 4d06094
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 17:38:09 2025 +0100

    docs(generator): update latest generator documentation (asyncapi#4623)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 127ac98
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 17:23:49 2025 +0100

    ci: update of files from global .github repo (asyncapi#4612)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 56d5d41
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 17:15:48 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4666)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 3647eaa
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 17:05:44 2025 +0100

    docs(community): update latest Board and TSC members list (asyncapi#4679)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 962820d
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 16:58:33 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4633)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 7ad740c
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 16:20:16 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4678)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 222a622
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Dec 5 16:06:31 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4660)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit fea45f1
Author: Prince Rajpoot <prince.rajpoot.20@gmail.com>
Date:   Fri Dec 5 19:55:54 2025 +0530

    chore: add Prince Rajpoot as codeowner (asyncapi#4628)

commit 3fc64a4
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Dec 1 01:52:20 2025 +0100

    chore: update tools.json (asyncapi#4654)

commit 5f83885
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 30 11:11:37 2025 +0100

    docs(community): update latest Board and TSC members list (asyncapi#4651)

commit fea633b
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 30 11:11:35 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4650)

commit 4094d22
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Nov 26 11:24:47 2025 +0100

    docs(generator): update latest generator documentation (asyncapi#4622)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit ad3d012
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Nov 26 11:00:29 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4626)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 40b340f
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Nov 26 09:58:18 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4637)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 0291d0b
Author: Ashish Padhy <ashishpadhy1729@gmail.com>
Date:   Wed Nov 26 14:18:37 2025 +0530

    chore(blog): publish postmortem on recent security breach (asyncapi#4640)

    Co-authored-by: Shurtu-gal <ashishpadhy1729@gmail.com>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>

commit ddc2d87
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 25 01:41:32 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4641)

commit 7accc24
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Nov 24 01:46:56 2025 +0100

    chore: update tools.json (asyncapi#4639)

commit 33db13d
Author: Chan <bot+chan@asyncapi.io>
Date:   Sat Nov 22 01:41:38 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4635)

commit d39efdf
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Nov 21 13:56:32 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4620)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 85ce754
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Nov 20 01:42:28 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4630)

commit d9e34fc
Author: Prince Rajpoot <prince.rajpoot.20@gmail.com>
Date:   Wed Nov 19 21:24:10 2025 +0530

    migrate macOS version to macos-latest (asyncapi#4625)

commit e63c6c3
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 18 08:19:29 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4610)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit d861164
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 18 07:42:50 2025 +0100

    docs(generator): update latest generator documentation (asyncapi#4611)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 47a9d92
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 18 01:42:54 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4618)

commit 7d42caf
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Nov 17 18:00:11 2025 +0100

    chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 (asyncapi#4616)

commit f0127ac
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Nov 17 09:19:31 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4606)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit dbad9ab
Author: Pottabathini Vivekananda <145771776+nandu-99@users.noreply.github.com>
Date:   Mon Nov 17 13:22:45 2025 +0530

    chore: update Slack invite link  (asyncapi#4597)

    Co-authored-by: Pottabathini Vivekananda <vivekananda.99666@gmail.com>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>

commit 14f2093
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Nov 17 01:44:37 2025 +0100

    chore: update tools.json (asyncapi#4609)

commit 0e9faba
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 16 17:19:09 2025 +0100

    docs(community): update latest Board and TSC members list (asyncapi#4607)

commit bd8cd1d
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 16 17:06:18 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4605)

commit ace905f
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 16 16:55:27 2025 +0100

    docs(community): update latest Board and TSC members list (asyncapi#4604)

commit 964b958
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 16 16:55:23 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4603)

commit 085e697
Author: Anushka Sharan <111284729+anushkaaaaaaaa@users.noreply.github.com>
Date:   Sun Nov 16 12:52:19 2025 +0530

    test: add e2e tests for docs and tools pages (asyncapi#4210)

    * test: add e2e tests for docs and tools pages

    * fix: minor fixes

    * test: update e2e test files

    * test: small changes

    * fix: small changes

    * minor change

    * minor chabge

    * feat: implement base classes in e2e tests

    * fix: enhance link verification methods

    * fix: update tools data import path in E2E tests

    * feat: add comprehensive tools data to toolsData.json

    * chore: format JSON structure in docsSections.json for consistency

    * chore: remove Glee section from docsSections.json

    * chore: update tools and docs navigation methods in HomePage class

    * refactor: replace verifyConceptSection with goToConceptsSection for consistency

    * refactor: enhance page verification methods in ToolsPage

    * refactor: update documentation links and headings in docsSections.json

    * refactor: improve link verification logic in ToolsPage

    * Add newline at end of meetings.json

    Fix missing newline at end of meetings.json file.

    * Fix JSON formatting in newsroom_videos.json

    * chore: add newline at the end of BasePageTools.js

    * docs: add Community Travel Funding guidelines

    * docs: update links to AsyncAPI tool documentation

    * docs: add manual tools building functionality and related tests

    * remve line

    * add line

    * smhtg

    ---------

    Co-authored-by: Sambhav Gupta <81870866+sambhavgupta0705@users.noreply.github.com>
    Co-authored-by: Rohit <108233235+TRohit20@users.noreply.github.com>

commit b9c3673
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 16 07:06:09 2025 +0100

    chore: update tools.json (asyncapi#4562)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit fe60602
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Nov 16 01:45:57 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4596)

commit 9a53cfa
Author: DuskWarden <pawar96sameer@gmail.com>
Date:   Sat Nov 15 19:58:09 2025 +0530

    docs: fix broken git-workflow.md links across repository (asyncapi#4585)

    * docs: fix broken git-workflow.md links

    Updated links to point to new location after community repo restructuring

    * revert: remove workflow file change as it is centrally managed

    ---------

    Co-authored-by: Chan <bot+chan@asyncapi.io>

commit 5bfca09
Author: Chan <bot+chan@asyncapi.io>
Date:   Sat Nov 15 01:43:23 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4590)

commit b87dd1b
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Nov 14 01:45:37 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4584)

commit 8cba652
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Nov 13 01:44:26 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4581)

commit 722963b
Author: Souryavardhan singh <144201791+Sourya07@users.noreply.github.com>
Date:   Wed Nov 12 21:09:00 2025 +0530

    docs: broken link to new-tool-documentation.md in Tools documentation (asyncapi#4542)

    Co-authored-by: Sourya07 <singhsourya137@gmail.com>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>

commit 4d0d969
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Nov 12 07:32:39 2025 +0100

    docs(community): update latest community documentation (asyncapi#4574)

commit 6aaecb1
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Nov 12 01:43:52 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4573)

commit 406151e
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 11 01:44:03 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4568)

commit be72df8
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Nov 10 01:47:43 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4563)

commit cecd342
Author: Prince Rajpoot <prince.rajpoot.20@gmail.com>
Date:   Sun Nov 9 13:14:15 2025 +0530

    feat: enable tools view regeneration at build time (asyncapi#4511)

    * Add support for tools view regeneration at PR level for manual tools

    * minor formatting change

    * minor improvement

    * minor change

    * Added test cases

    * minor improvement

    * added more assertions

commit 445e7c1
Author: Anushka Sharan <111284729+anushkaaaaaaaa@users.noreply.github.com>
Date:   Fri Nov 7 21:58:31 2025 +0530

    test: add E2E tests for home page, header and footer components (asyncapi#4194)

    * feat: add cypress for e2e testing

    * feat: add cypress for e2e testing

    * feat: demo cypress test

    * feat: header e2e tests

    * feat: footer e2e tests

    * feat: add e2e tests for homepage (and other regarding pages)

    * test: add test for docs button

    * fix: minor e2e tests fixes

    * ci: add e2e tests workflow

    * fix: e2e tests fix

    * fix: minor fixes

    * ci: minor fix

    * fix: minor fix

    * fix: another fix

    * ci: another minor fix

    * fix: final fix

    * fix: failing test fix

    * test: update tests to get rid of hardcoded links

    * fix: replace direct Cypress commands with homePage methods

    * ci: minor fix

    * fix: minor fix

    * ci: minor fix

    * ci: update dependencies

    * fix: small change

    * test: remove files from tsconfig

    * feat: implement base classes for each test file

    * fix: small change

    * fix: small change

    * fix: changes

    * feat: add centralized footer data and update footer validation tests

    * small change in footer.cy.js

    * refactor: simplify visit method in BasePage class

    * fix: correct import path for footer data in footer tests

    * refactor: fix lint issues in ToolsCard and ToolsDashboard components

    * refactor: revert changes in ToolsCard and ToolsDashboard components

    * small change

    * small change

    * fix(footer): update email contact in news links

    ---------

    Co-authored-by: Sambhav Gupta <81870866+sambhavgupta0705@users.noreply.github.com>
    Co-authored-by: Rohit <108233235+TRohit20@users.noreply.github.com>
    Co-authored-by: Ansh Goyal <anshgoyal1704@gmail.com>

commit 167fbb9
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Nov 7 01:45:16 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4554)

commit b5a86b7
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Nov 6 01:42:44 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4541)

commit 4c5ecac
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Nov 5 11:41:23 2025 +0100

    docs(community): update latest community documentation (asyncapi#4539)

commit 8688dc0
Author: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>
Date:   Wed Nov 5 11:22:05 2025 +0200

    chore(blog): add October community summary (asyncapi#4512)

    Co-authored-by: thulieblack <sibanda.thulie@gmail.com>

commit b4bdd8b
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 4 11:38:41 2025 +0100

    docs(community): update latest Board and TSC members list (asyncapi#4532)

commit 11414cc
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 4 11:38:37 2025 +0100

    docs(community): update latest maintainers list (asyncapi#4531)

commit 005177e
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Nov 4 01:42:03 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4528)

commit 9611f42
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Nov 3 01:46:28 2025 +0100

    chore: update tools.json (asyncapi#4525)

commit 053e5a6
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Oct 30 01:43:09 2025 +0100

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4516)

commit 04921b1
Author: Lukasz Gornicki <lpgornicki@gmail.com>
Date:   Tue Oct 28 15:36:16 2025 +0100

    chore: add content with case studies (asyncapi#4486)

    Co-authored-by: Lukasz Gornicki <lpgornicki@gmail.com>
    Co-authored-by: Ansh Goyal <anshgoyal1704@gmail.com>

commit 6287929
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 27 10:52:50 2025 +0100

    docs(cli): update latest cli documentation (asyncapi#4510)

commit e398ae7
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 27 09:39:38 2025 +0100

    ci: update LICENSE and NOTICE files from global .github repo (asyncapi#4509)

commit 4788d4b
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 27 01:45:31 2025 +0100

    chore: update tools.json (asyncapi#4508)

commit d3c31cc
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Oct 24 13:07:33 2025 +0200

    docs(cli): update latest cli documentation (asyncapi#4504)

commit a57da1f
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Oct 24 02:40:29 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4502)

commit 304d2ae
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Oct 22 02:42:59 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4497)

commit 6c974fc
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Oct 21 13:26:10 2025 +0200

    docs(community): update latest community documentation (asyncapi#4493)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>

commit b1787a0
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Oct 21 02:41:49 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4492)

commit 5733a74
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 20 02:45:33 2025 +0200

    chore: update tools.json (asyncapi#4490)

commit 841a1d3
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Oct 17 06:12:55 2025 +0200

    ci: update of files from global .github repo (asyncapi#4475)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit db754f6
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Oct 17 02:41:45 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4487)

commit 9de49c1
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Oct 16 02:41:23 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4483)

commit 6757477
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Oct 15 10:07:12 2025 +0200

    docs(community): update latest tsc members list (asyncapi#4479)

commit 568740e
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Oct 15 02:42:05 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4477)

commit f33b0de
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Oct 14 16:34:12 2025 +0200

    docs(community): update latest Board and TSC members list (asyncapi#4472)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 6a18edf
Author: Sarthak Karode <sarthakkarodework@gmail.com>
Date:   Tue Oct 14 19:57:20 2025 +0530

    docs: remove glee folder and update introduction-to-glee-a-spec-first-framework.md (asyncapi#4358)

    Co-authored-by: sarthakKarode <sarthakkarode@gmail.com>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>

commit b215375
Author: Zbigniew Malcherczyk <zmalcherczyk@gmail.com>
Date:   Tue Oct 14 14:29:44 2025 +0200

    chore(blog): add TransferGo <> AsyncAPI Blog Post (asyncapi#4434)

    Co-authored-by: Ferror <zmalcherczyk@gmail.com>
    Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>
    Co-authored-by: Lukasz Gornicki <lpgornicki@gmail.com>

commit 7480244
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Oct 14 14:18:15 2025 +0200

    docs(community): update latest community documentation (asyncapi#4474)

commit 7058fd5
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Oct 14 09:40:10 2025 +0200

    docs(community): update latest maintainers list (asyncapi#4471)

commit e18da3b
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Oct 14 08:42:29 2025 +0200

    docs(community): update latest maintainers list (asyncapi#4470)

commit ac7e38b
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 13 18:04:36 2025 +0200

    docs(community): update latest Board members list (asyncapi#4469)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 1e3e8e8
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 13 14:51:16 2025 +0200

    docs(community): update latest tsc members list (asyncapi#4468)

commit 8560539
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 13 02:43:38 2025 +0200

    chore: update tools.json (asyncapi#4467)

commit 4fd7abd
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Oct 12 02:42:39 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4465)

commit 19e3c34
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Oct 10 18:11:58 2025 +0200

    docs(community): update latest community documentation (asyncapi#4462)

commit 4b2284c
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Oct 10 02:42:27 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4461)

commit 7affdb1
Author: Pastukhov Nikita <diementros@yandex.ru>
Date:   Fri Oct 10 02:45:03 2025 +0300

    docs: fix FastStream tools dead links (asyncapi#4458)

    * docs: update FastStream tools link

    * docs: update FastStream tools links

    * chore: remove empty line

    * Update tools.json

    * Update tools-manual.json

    ---------

    Co-authored-by: Sambhav Gupta <81870866+sambhavgupta0705@users.noreply.github.com>

commit 55d08d5
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Oct 6 02:41:28 2025 +0200

    chore: update tools.json (asyncapi#4459)

commit 3b4454f
Author: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>
Date:   Fri Oct 3 11:45:21 2025 +0200

    chore(blog): add the september summary (asyncapi#4438)

    Co-authored-by: thulieblack <sibanda.thulie@gmail.com>

commit 2e4022c
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Oct 3 02:39:43 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4449)

commit bfda003
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Oct 2 17:10:30 2025 +0200

    docs(community): update latest community documentation (asyncapi#4444)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit dc85424
Author: Fran Méndez <fmvilas@gmail.com>
Date:   Thu Oct 2 16:43:56 2025 +0200

    chore: replace press email with info email address (asyncapi#4443)

    Co-authored-by: Fran Méndez <fmvilas@gmail.com>
    Co-authored-by: Sambhav Gupta <81870866+sambhavgupta0705@users.noreply.github.com>

commit 75cd925
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Oct 2 02:42:15 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4442)

commit 960a6b5
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Oct 1 21:38:20 2025 +0200

    chore: update meetings.json, newsrooom_videos.json and dashboard.json (asyncapi#4426)

    Co-authored-by: asyncapi-bot <info@asyncapi.io>
    Co-authored-by: Eve <bot+eve@asyncapi.io>

commit 4234dda
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Oct 1 02:46:05 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4441)

commit d4a1175
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Sep 30 02:43:19 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4440)

commit 231498d
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Sep 29 02:42:47 2025 +0200

    chore: update tools.json (asyncapi#4439)

commit 42eac67
Author: Chan <bot+chan@asyncapi.io>
Date:   Sun Sep 28 02:43:54 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4437)

commit 0be788f
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Sep 26 21:58:26 2025 +0200

    chore(deps): bump tar-fs (asyncapi#4436)

commit c19543b
Author: Chan <bot+chan@asyncapi.io>
Date:   Fri Sep 26 02:39:08 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4435)

commit 9a8c037
Author: Chan <bot+chan@asyncapi.io>
Date:   Thu Sep 25 12:54:38 2025 +0200

    docs(community): update latest community documentation (asyncapi#4432)

commit 54b7241
Author: Zbigniew Malcherczyk <zmalcherczyk@gmail.com>
Date:   Thu Sep 25 09:55:27 2025 +0200

    chore: initial TransferGo CaseStudy (asyncapi#4409)

    Co-authored-by: Ferror <zmalcherczyk@gmail.com>
    Co-authored-by: Lukasz Gornicki <lpgornicki@gmail.com>

commit 78769a8
Author: Chan <bot+chan@asyncapi.io>
Date:   Wed Sep 24 02:40:34 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4431)

commit 1ac8db4
Author: Chan <bot+chan@asyncapi.io>
Date:   Tue Sep 23 02:40:29 2025 +0200

    chore: update meetings.json and newsrooom_videos.json (asyncapi#4430)

commit 9791f0d
Author: Chan <bot+chan@asyncapi.io>
Date:   Mon Sep 22 02:43:56 2025 +0200

    chore: update tools.json (asyncapi#4429)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants