-
-
Notifications
You must be signed in to change notification settings - Fork 638
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into feature/tutorial-bindings-with-kafka
- Loading branch information
Showing
224 changed files
with
11,289 additions
and
19,136 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
node_modules | ||
.next | ||
.github |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Development Docker file | ||
FROM node:18-alpine | ||
|
||
WORKDIR /async | ||
|
||
# Install development dependencies | ||
COPY package.json package-lock.json ./ | ||
RUN npm install | ||
|
||
# Copy the rest of the application files | ||
COPY . . | ||
|
||
# Expose the port for development (if needed) | ||
EXPOSE 3000 | ||
|
||
# Set environment variables for development (optional) | ||
ENV NODE_ENV=development | ||
|
||
CMD ["npm", "run", "dev"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,8 +34,7 @@ This repository contains the sources of AsyncAPI website: | |
Use the following tools to set up the project: | ||
|
||
- [Node.js](https://nodejs.org/) v16.0.0+ | ||
- [npm](https://www.npmjs.com/) v7.10.0+ | ||
|
||
- [npm](https://www.npmjs.com/) v8.10.0+ | ||
|
||
## Run locally | ||
|
||
|
@@ -97,6 +96,45 @@ npm run build | |
|
||
Generated files of the website go to the `.next` folder. | ||
|
||
### Run locally using Docker | ||
|
||
#### Prerequisites: | ||
|
||
- [install Docker](https://docs.docker.com/get-docker/) | ||
|
||
|
||
After cloning repository to your local, perform the following steps from the root of the repository. | ||
|
||
#### Steps: | ||
1. Build the Docker image: | ||
```bash | ||
docker build -t asyncapi-website .` | ||
``` | ||
2. Start the container: | ||
```bash | ||
docker run --rm -it -v "$PWD":/async -p 3000:3000 asyncapi-website | ||
``` | ||
|
||
Now you're running AsyncAPI website in a development mode. Container is mapped with your local copy of the website. Whenever you make changes to the code, the website will refresh and changes visible in localhost:3000. | ||
## Updating information about project finance | ||
AsyncAPI Financial Summary page aims to provide transparency and clarity regarding the organization's financial activities. It serves as a platform to showcase how donations are accepted, different sponsorship options, and how the generated funds are utilized. | ||
|
||
### How to update information | ||
|
||
- YAML files must be stored in the `config/finance` directory. | ||
|
||
- Create separate folders for each year under `config/finance`, such as `config/finance/2023`. Inside each year's folder, include two YAML files: `Expenses.yml` and `ExpensesLink.yml`. | ||
- In `Expenses.yml`, record expenses for each month, specifying the `Category` and `Amount`. | ||
- In `ExpensesLink.yml`, provide discussion links related to expense categories. | ||
- When a new year begins, create a corresponding folder for that year under `config/finance` and place the YAML files inside the folder for that specific year. For example, create a folder named `config/finance/2024` for the year 2024 and `config/finance/2025` for the year 2025. Place the YAML file for each respective year inside its designated folder. | ||
- Modify the years within the `scripts/finance/index.js` , `lib/getUniqueCategories.js` and `components/FinancialSummary/BarChartComponent.js` to handle data for different years effectively. | ||
## Case studies | ||
### Overview | ||
|
@@ -124,7 +162,32 @@ All AsyncAPI JSON Schema definition files are being served within the `/definiti | |
This is possible thanks to the following: | ||
1. A [Netlify Rewrite rule](https://docs.netlify.com/routing/redirects/rewrites-proxies/) located in the [netlify.toml](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](https://docs.netlify.com/netlify-labs/experimental-features/edge-functions/) that modifies the `Content-Type` header of the rewrite response to become `application/schema+json`. This lets tooling, such as [Hyperjump](https://json-schema.hyperjump.io), to fetch the schemas directly from their URL. | ||
2. A [Netlify Edge Function](https://docs.netlify.com/netlify-labs/experimental-features/edge-functions/) that modifies the `Content-Type` header of the rewrite response to become `application/schema+json`. This lets tooling, such as [Hyperjump](https://json-schema.hyperjump.io), to fetch the schemas directly from their URL. | ||
Please find a flowchart explaining the flow this edge function should accomplish: | ||
```mermaid | ||
flowchart TD | ||
Request(Request) -->schema-related{Is it requesting Schemas?} | ||
schema-related -->|No| req_no_schemas[Let the original request go through] | ||
req_no_schemas --> Response(Response) | ||
schema-related -->|Yes| req_schemas[Fetch from GitHub] | ||
req_schemas-->req_json{Was requesting a .json file?} | ||
req_json -->|No| Response(Response) | ||
req_json -->|Yes| response_status{Response Status?} | ||
response_status -->|2xx| response_ok[OK] | ||
response_status -->|304| response_cached[Not Modified] | ||
response_status -->|Any other| response_ko | ||
response_ok --> set_headers[Set Response Content-Type header to application/schema+json] | ||
set_headers --> send_metric_success[Send success metric] | ||
response_cached -- cached:true --> send_metric_success | ||
response_ko --> send_metric_error[Send error metric] | ||
send_metric_success -- file served from raw GH --> Response(Response) | ||
send_metric_error --the errored response --> Response(Response) | ||
``` | ||
## Project structure | ||
|
@@ -156,21 +219,21 @@ This repository has the following structure: | |
## Connect with AsyncAPI Community | ||
|
||
<p align="left"> | ||
<a href="https://asyncapi.slack.com/" target="blank"> | ||
<img align="center" src="https://img.icons8.com/color/48/null/slack-new.png" alt="AsyncAPI Slack" height="30" width="40" /> | ||
</a> | ||
<a href="https://twitter.com/asyncapispec" target="blank"> | ||
<img align="center" src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/twitter.svg" alt="AsyncAPI Twitter" height="30" width="40" /> | ||
</a> | ||
<a href="https://www.linkedin.com/company/asyncapi" target="blank"> | ||
<img align="center" src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg" alt="AsyncAPI LinkedIn" height="30" width="40" /> | ||
</a> | ||
<a href="https://www.youtube.com/c/asyncapi" target="blank"> | ||
<img align="center" src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/youtube.svg" alt="AsyncAPI YouTube" height="30" width="40" /> | ||
</a> | ||
<a href="https://www.twitch.tv/asyncapi" target="blank"> | ||
<img align="center" src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/twitch.svg" alt="AsyncAPI Twitch" height="30" width="40" /> | ||
</a> | ||
<a href="https://asyncapi.slack.com/" alt="AsyncAPI Slack"> | ||
<img src="https://img.shields.io/badge/[email protected]?logo=slack&color=yellow" /> | ||
</a> | ||
<a href="https://twitter.com/asyncapispec" target="_blank"> | ||
<img src="https://img.shields.io/badge/asyncapi-%23gray.svg?style=flat&logo=X&label=Twitter&labelColor=rgb(86%2C86%2C86)" alt="AsyncAPI Twitter"> | ||
</a> | ||
<a href="https://www.linkedin.com/company/asyncapi" target="_blank"> | ||
<img src="https://img.shields.io/badge/asyncapi-%230077B5.svg?logo=linkedin&logoColor=white&label=LinkedIn&labelColor=rgb(86%2C86%2C86)&style=flat" alt="AsyncAPI LinkedIn"> | ||
</a> | ||
<a href="https://www.youtube.com/c/asyncapi" target="_blank"> | ||
<img src="https://img.shields.io/badge/YouTube-AsyncAPI-red?style=flat&logo=youtube&logoColor=white" alt="YouTube"> | ||
</a> | ||
<a href="https://www.twitch.tv/asyncapi" target="_blank"> | ||
<img src="https://img.shields.io/badge/asyncapi-%23833fe6?style=flat&logo=twitch&label=Twitch&logoColor=white" alt="AsyncAPI Twitch"> | ||
</a> | ||
</p> | ||
|
||
## AsyncAPI Contributors ✨ | ||
|
@@ -251,6 +314,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d | |
<td align="center" valign="top" width="14.28%"><a href="https://github.com/AnimeshKumar923"><img src="https://avatars.githubusercontent.com/u/99868037?v=4?s=100" width="100px;" alt="Animesh Kumar"/><br /><sub><b>Animesh Kumar</b></sub></a><br /><a href="https://github.com/asyncapi/website/commits?author=AnimeshKumar923" title="Documentation">📖</a> <a href="https://github.com/asyncapi/website/pulls?q=is%3Apr+reviewed-by%3AAnimeshKumar923" title="Reviewed Pull Requests">👀</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/captain-Akshay"><img src="https://avatars.githubusercontent.com/u/59491379?v=4?s=100" width="100px;" alt="Akshay Sharma"/><br /><sub><b>Akshay Sharma</b></sub></a><br /><a href="https://github.com/asyncapi/website/commits?author=captain-Akshay" title="Code">💻</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://web-yuvrxj-afk.vercel.app/"><img src="https://avatars.githubusercontent.com/u/63532070?v=4?s=100" width="100px;" alt="Yuvraj Singh Sisodiya"/><br /><sub><b>Yuvraj Singh Sisodiya</b></sub></a><br /><a href="https://github.com/asyncapi/website/commits?author=yuvrxj-afk" title="Code">💻</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Shiva953"><img src="https://avatars.githubusercontent.com/u/120790871?v=4?s=100" width="100px;" alt="Neutron"/><br /><sub><b>Neutron</b></sub></a><br /><a href="https://github.com/asyncapi/website/commits?author=Shiva953" title="Code">💻</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sagarkori143"><img src="https://avatars.githubusercontent.com/u/129517558?v=4?s=100" width="100px;" alt="Sagar Kori"/><br /><sub><b>Sagar Kori</b></sub></a><br /><a href="https://github.com/asyncapi/website/commits?author=sagarkori143" title="Documentation">📖</a></td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
|
Oops, something went wrong.