-
-
Notifications
You must be signed in to change notification settings - Fork 681
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
feat: add adopters section to case study page #2232
Conversation
✅ Deploy Preview for asyncapi-website ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
⚡️ Lighthouse report for the changes in this PR:
Lighthouse ran on https://deploy-preview-2232--asyncapi-website.netlify.app/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot, you'll need to refactor a bit as we talk about Adopters
and not Adoptors
, so UI changes and all the naming updates must be done accordingly
regarding the yaml file with data, I would not differentiate between video and docs as there can also be just links to slides. So I suggest that resources
is just an array of objects with title
and link
props
@derberg code updated! |
.gitignore
Outdated
@@ -7,6 +7,7 @@ node_modules | |||
out | |||
config/posts.json | |||
config/case-studies.json | |||
config/adoptors.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
adopters please
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and remove adopters.json from this pr
config/adopters/adoptors.yml
Outdated
@@ -0,0 +1,31 @@ | |||
- companyName: Reiffeisen Bank |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
file should be called adopters
pages/casestudies/index.js
Outdated
<Paragraph typeStyle="body-md" className="my-4 max-w-4xl"> | ||
Feel free to submit a pull request with information about how your company uses AsyncAPI. We know that | ||
writing an official case study might be time consuming and requires too much internal paper work. | ||
Let's make sure we can atleast capture a use case that is already a great learning information for the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's make sure we can atleast capture a use case that is already a great learning information for the | |
Let's make sure we can at least capture a use case that is already a great learning information for the |
@derberg oh sorry i forgot to change the name of the files 😅. Is everything else perfect? |
pages/casestudies/index.js
Outdated
Check out how different companies use AsyncAPI and what problems they solve. | ||
</Paragraph> | ||
<Paragraph typeStyle="body-md" className="my-4 max-w-4xl"> | ||
Feel free to submit a pull request with information about how your company uses AsyncAPI. We know that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
submit a pull request
can you make it a link that points to config/adopters/adoptors.yml
file, so people immediately know where to place the info
scripts/adopters/index.js
Outdated
|
||
const dirWithAdopters = 'config/adopters'; | ||
module.exports = async function buildAdoptersList() { | ||
let files = await readdir(dirWithAdopters); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
adopters.yml is just a single file, and will be like this long term, so why we need code that reads all files from adopters dir. Maybe just remove adopters dir and add adopters.yml directory to config, and just read that one single file and transform to json
@derberg code updated! Should i add a line under "submit a pull request" ? |
@vishvamsinh28 yes, make it visible as clickable link as it is not visible now |
config/adopters/adopters.yml
Outdated
@@ -0,0 +1 @@ | |||
[{"companyName":"Reiffeisen Bank","useCase":"Continuous Integration and Continuous Delivery (CI/CD) pipeline based on GitOps to deploy a topology built on Async API definitions using a Kubernetes operator to an Apache Pulsar cluster.","resources":[{"title":"Video - From an AsyncAPI Definition to a Deployed Pulsar Topology Via GitOps","link":"https://www.youtube.com/watch?v=_MwzLZMwFN8"}]},{"companyName":"LEGO Group","useCase":"Broker management, where developers do not access the management console themselves, but rely on uploading AsyncAPI documents to a self service API that provisions access and topics specified in documents.","resources":[{"title":"Video - Documentation as Configuration for Management of Apache Pulsar","link":"https://www.youtube.com/watch?v=m8I0fYjx6Cc"}]},{"companyName":"LEGO Group","useCase":"Define, document and distribute event-driven APIs. Ensuring consistency and governance","resources":[{"title":"Video - Cross-Domain Events with AsyncAPI and AWS","link":"https://www.youtube.com/watch?v=qjarcJQVLOg"}]},{"companyName":"Bank of New Zealand","useCase":"Decentralized company-wide governance strategy for API. A self service for publishing APIs and docs.","resources":[{"title":"Video - Self-service Events & Decentralised Governance with AsyncAPI: A Real World Example","link":"https://www.confluent.io/events/kafka-summit-apac-2021/self-service-events-and-decentralised-governance-with-asyncapi-a-real-world/"}]},{"companyName":"Zora Robotics","useCase":"Documenting lot products public MQTT API and building a developers portal.","resources":[{"title":"Video - Buliding and managing an extensive API for Robotics and loT","link":"https://www.youtube.com/watch?v=yjHgT0n2BtA"},{"title":"Docs - Buliding and managing an extensive API for Robotics and loT","link":"https://docs.zorabots.be/dev-mqtt-docs/latest/index.html"}]}] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- if this is always going to be a singe life, do we need
adopters
sub directory for it? - can you format it into multiple human readable, not one line string? and why it is not yml?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have few more adopters
Company: Walmart
Use Case: Managing a central API Hub for internal teams. Using AsyncAPI for events discoverability an visibility in a single place. AsyncAPI also enabled company-wide governance on asynchronous APIs.
Resources:
- Title: Video - Time For AsyncAPI Specification
Link: https://www.youtube.com/watch?v=SxTpGRaNIPo
Company: eBay
Use Case: Enabling partners to build with eBay through asynchronous communication. Public AsyncAPI documents enable code generation and faster integration. It also enables governance and standardisation.
Resources:
- Title: Video - AsyncAPI 2.0: Enabling the Event-Driven World
Link: https://www.youtube.com/watch?v=XCccEYMNX5g
- Title: Article - AsyncAPI 2.0: Enabling the Event-Driven World
Link: https://innovation.ebayinc.com/tech/engineering/asyncapi-2-0-enabling-the-event-driven-world/
- Title: Docs - Overview of Notification API with public AsyncAPI documents
Link: https://developer.ebay.com/api-docs/commerce/notification/overview.html
scripts/adopters/index.js
Outdated
const { resolve } = require('path'); | ||
|
||
module.exports = async function buildAdoptersList() { | ||
let AdoptersList = []; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we still need an array?
scripts/adopters/index.js
Outdated
|
||
await writeFile( | ||
resolve(__dirname, '../../config', 'adopters.json'), | ||
JSON.stringify([jsonContent]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of doing AdoptersList[0]
in component, just refactor this to JSON.stringify(jsonContent)
right?
@derberg updated the code |
⚡️ Lighthouse report for the changes in this PR:
Lighthouse ran on https://deploy-preview-2232--asyncapi-website.netlify.app/ |
@akshatnema No, i haven't added tests to it yet |
Adding |
/dnm |
@vishvamsinh28 you need some help? |
@derberg Yes, i am getting some errors after writing tests |
@vishvamsinh28 you do know that I cannot help as long as you do not write exactly what errors you're getting 😆 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
tests do what I expect them to do, iterate over data and make sure component renders them ❤️
@akshatnema wanna have a final look?
|
||
it('does not render anything when adopters array is empty', () => { | ||
// Modify Casestudies component to pass an empty AdoptersList | ||
mount(<Casestudies adopters={[]} />); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you haven't add any prop of adopters in CaseStudies
component, how are you passing it to check that adopters should be empty?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you haven't add any prop of adopters in
CaseStudies
component, how are you passing it to check that adopters should be empty?
@akshatnema i was testing few things and forgot to remove it from the code 😅. i have updated the tests but it is still failing the test, i don't why it is happening
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❤️
/rtm |
adoptors added
fixes #2135