8000 GitHub - reachaadrika/website: AsyncAPI specification website
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

reachaadrika/website

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AsyncAPI Banner and Logo



Overview

This repository contains the sources of AsyncAPI website:

Requirements

Use the following tools to set up the project:

Run locally

  1. Fork the repository by clicking on Fork option on top right of the main repository.

  2. Open Command Prompt on your local computer.

  3. Clone the forked repository by adding your own GitHub username in place of <username>. For multiple contributions it is recommended to have proper configuration of forked repo.

    git clone https://github.com/<username>/website/
  1. Navigate to the website directory.
    cd website
  1. Install all website dependencies.
    npm install
  1. Run the website locally.
    npm run dev
  1. Access the live development server at localhost:3000.

Compose new blog post

To bootstrap a new post, run this command:

    npm run write:blog

Follow the interactive prompt to generate a post with pre-filled front matter.

Spin up Gitpod codespace

In order to prepare and spin up a Gitpod dev environment for our project, we configured our workspace through a .gitpod.yml file.

To spin up a Gitpod codespace, go to http://gitpod.io/#https://github.com/asyncapi/website.

Build

To build a production-ready website, run the following command:

npm run build

Generated files of the website go to the .next folder.

Case studies

Overview

A case study is a special document that any end-user company can provide. An end-user company is a company that uses AsyncAPI to solve technical challenges. A case study is not a document where a vendor company can describe how they build their commercial AsyncAPI-based product. On the other hand, it is completely fine if a case study of some end-user mentions some commercial tools that helped them to work with AsyncAPI or event-driven architecture. An example of such a case can be a case study from an end-user where at some point, Confluent Schema Registry is mentioned in an explanation about schemas and runtime message validation.

How to add a case study

A case study is documented in the form of a YAML file. Anyone can open a pull request with a new case study.

  • YAML file must be located in config/casestudies.
  • To make it easier for you to create such a YAML file you can use:
  • All additional files for the case study, like complete AsyncAPI document examples, should be located in the public/resources/casestudies directory.
  • Company logo and other images that will be rendered in the website should be located in public/img/casestudies.

Once you collect all information and create a case study, open a pull request. It must be authored or at least approved by a representative of the given company. Such a representative is probably already a contact person mentioned in the case study.

A case study becomes publicly available right after merging and rebuilding the website.

JSON Schema definitions

All AsyncAPI JSON Schema definition files are being served within the /definitions/<file> path. The content is being served from GH, in particular from https://github.com/asyncapi/spec-json-schemas/tree/master/schemas. This is possible thanks to the following:

  1. A Netlify Rewrite rule located in the netlify.toml file, which acts as proxy for all requests to the /definitions/<file> path, serving the content from GH without having an HTTP redirect.
  2. A Netlify Edge Function that modifies the Content-Type header of the rewrite response to become application/schema+json. This lets tooling, such as Hyperjump, to fetch the schemas directly from their URL.

Project structure

This repository has the following structure:

  β”œβ”€β”€ .github                     # Definitions of GitHub workflows, pull request and issue templates
  β”œβ”€β”€ components                  # Various generic components such as "Button", "Figure", etc.
  β”œβ”€β”€ config                      # Transformed static data to display on the pages such as blog posts etc.
  β”œβ”€β”€ context                     # Various React's contexts used in website
  β”œβ”€β”€ css                         # Various CSS files
  β”œβ”€β”€ lib                         # Various JS code for preparing static data to render in pages
  β”œβ”€β”€ pages                       # Website's pages source. It includes raw markdown files and React page templates.
  β”‚    β”œβ”€β”€ about                  # Raw blog for /about page
  β”‚    β”œβ”€β”€ blog                   # Blog posts
  β”‚    β”œβ”€β”€ docs                   # Blog for /docs/* pages
  β”‚    └── tools                  # Various pages to describe tools
  β”œβ”€β”€ public                      # Data for site metadata and static blog such as images
  β”œβ”€β”€ scripts                     # Scripts used in the build and dev processes
  β”œβ”€β”€ next.config.js              # Next.js configuration file
  β”œβ”€β”€ netlify                     # Code that runs on Netlify
  β”‚    β”œβ”€β”€ edge-functions         # Netlify Edge-Functions code
  β”œβ”€β”€ postcss.config.js           # PostCSS configuration file
  └── tailwind.config.js          # TailwindCSS configuration file

Connect with AsyncAPI Community

AsyncAPI Slack AsyncAPI Twitter AsyncAPI LinkedIn AsyncAPI YouTube AsyncAPI Twitch

AsyncAPI Contributors ✨

Thanks goes to these wonderful people (emoji key):

Fran MΓ©ndez
Fran MΓ©ndez

πŸ’» πŸ“– πŸ› 🎨 🚧 πŸš‡ πŸ€” πŸ‘€ πŸ“
Lukasz Gornicki
Lukasz Gornicki

πŸ’» πŸ“– πŸ› 🎨 🚧 πŸš‡ πŸ€” πŸ‘€ πŸ“
Maciej UrbaΕ„czyk
Maciej UrbaΕ„czyk

πŸ’» πŸ“– πŸ› 🎨 🚧 πŸš‡ πŸ€” πŸ‘€ πŸ“
Alejandra Quetzalli
Alejandra Quetzalli

πŸ“– πŸ‘€ πŸ“’
Aayush Kumar Sahu
Aayush Kumar Sahu

πŸ’» πŸ› 🎨
David Boyne
David Boyne

πŸ’» 🎨
Jesse Menning
Jesse Menning

πŸ“
Dimitrios Dedoussis
Dimitrios Dedoussis

πŸ“
Jonas Lagoni
Jonas Lagoni

πŸ“ πŸ’» πŸ‘€
Sergio Moya
Sergio Moya

πŸ’» πŸ“ πŸ‘€
Bodo Graumann
Bodo Graumann

πŸ“–
Damilola Randolph
Damilola Randolph

πŸ’»
Barbanio GonzΓ‘lez
Barbanio GonzΓ‘lez

πŸ“ πŸ€”
Hargun Kaur
Hargun Kaur

πŸ’»
Chris Eich
Chris Eich

πŸ‘€
Simone Fumagalli
Simone Fumagalli

πŸ“–
Missy Turco
Missy Turco

πŸ’» 🎨 πŸ€” πŸ‘€
Ritik Rawal
Ritik Rawal

πŸ’»
Akshat Nema
Akshat Nema

πŸ’»
David Pereira
David Pereira

πŸ’» πŸ“–
Debajyoti Halder
Debajyoti Halder

πŸ’»
Juan A.
Juan A.

πŸ’»
Muhammad Rafly Andrianza
Muhammad Rafly Andrianza

πŸ“–
Harish
Harish

πŸ’»
Paul Goldsmith
Paul Goldsmith

πŸ’» πŸ›
Tabah Baridule
Tabah Baridule

πŸ“–
Karuna Tata
Karuna Tata

️️️️♿️
Joseph Mawa
Joseph Mawa

πŸ‘€
Viacheslav Turovskyi
Viacheslav Turovskyi

πŸ“– πŸ’»
Helen Kosova
Helen Kosova

πŸ“–
V Thulisile Sibanda
V Thulisile Sibanda

πŸ“–
Manav Desai
Manav Desai

πŸ“–
Mohd Toukir Khan
Mohd Toukir Khan

πŸ“–
Anisat Akinbani
Anisat Akinbani

πŸ“–
sambhavgupta0705
sambhavgupta0705

πŸ’»
Ankit Chaudhary
Ankit Chaudhary

πŸ’»
samz
samz

πŸ’»
Bhaswati Roy
Bhaswati Roy

πŸ“–
AISHAT MUIBUDEEN
AISHAT MUIBUDEEN

🎨
Nawed Ali
Nawed Ali

πŸ’»
Olaleye Blessing
Olaleye Blessing

πŸ’» ️️️️♿️
niranjan-kurhade
niranjan-kurhade

πŸ’»
Benjamin Rukundo
Benjamin Rukundo

πŸ’»
tthijm
tthijm

πŸš‡
Cynthia Peter
Cynthia Peter

πŸ“–
Florence Njeri
Florence Njeri

πŸ’»
Ansh Goyal
Ansh Goyal

πŸ’» πŸ‘€
Sumant.xD
Sumant.xD

πŸš‡
Shriansh Agarwal
Shriansh Agarwal

πŸ’»
Aadrika Bhargava
Aadrika Bhargava

πŸ’»
Vishvamsinh Vaghela
Vishvamsinh Vaghela

πŸ’»
Animesh Kumar
Animesh Kumar

πŸ“– πŸ‘€

This project follows the all-contributors specification. Contributions of any kind welcome!

About

AsyncAPI specification website

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.3%
  • TypeScript 2.0%
  • Other 0.7%
0