This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-website.git
The following commit(s) were added to refs/heads/master by this push: new f6da6ff9448 Add code samples page (#1628) f6da6ff9448 is described below commit f6da6ff94483941eed59686826ce2b91e00f44c7 Author: Bobur Umurzokov <boburmirzo.umurzo...@gmail.com> AuthorDate: Wed Jun 28 11:28:57 2023 +0200 Add code samples page (#1628) Co-authored-by: boburumurzokov <borbur.umurzo...@astrazeneca.com> --- config/navbar.js | 5 +++++ website/docs/general/code-samples.md | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/config/navbar.js b/config/navbar.js index a308cab1bab..cef79062974 100644 --- a/config/navbar.js +++ b/config/navbar.js @@ -91,6 +91,11 @@ module.exports = [ label: 'Showcase', target: '_parent', }, + { + to: '/docs/general/code-samples', + label: 'Code Samples', + target: '_parent', + }, { to: '/plugins', label: 'PluginHub', diff --git a/website/docs/general/code-samples.md b/website/docs/general/code-samples.md new file mode 100644 index 00000000000..c81cc29dc3c --- /dev/null +++ b/website/docs/general/code-samples.md @@ -0,0 +1,40 @@ +--- +id: code-samples +title: Code samples +keywords: + - API gateway + - Code samples + - Example projects + - Source code +description: Apache APISIX code samples and projects. +--- + +**Welcome to Apache APISIX Code Samples!** + +Our Code Samples is your go-to resource for exploring the full potential of Apache APISIX, boosting your understanding of our platform's features, and accelerating your API development. + +In our collection, you'll find a diverse range of code samples, including exposing new APIs, handling API calls, securing, and observing your APIs with Apache APISIX, and many more. + +Now, feel free to dive in! Whether you're a beginner in need of a jumpstart or an experienced developer seeking more efficient solutions, our Code Samples are here to empower you on your journey. And if you ever get stuck or need further assistance, our [community of developers](https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ) is always here to help. Happy coding! + +| Title | Description | Source code | Tutorial | Category | Level | Language | +| --- | --- | --- | --- | --- | --- | --- | +| Hands-on lab Apache APISIX | It shows a couple of nifty features that can help your information system cope with the challenges introduced by APIs | https://github.com/Boburmirzo/apisix-workshop | https://boburmirzo.github.io/apisix-workshop/ | Authentication, Security, Serverless, Observability, Transformation | Beginner | Shell | +| How to create a File-proxy custom plugin in Lua | Learn to develop a new plugin that exposes the static files through API and fetches a file from a specified URL. | https://github.com/Boburmirzo/apisix-file-proxy-plugin-demo | https://api7.ai/blog/plugin-development-with-lua-and-chatgpt | Custom plugin, File proxy | Intermediate | Lua, Yaml | +| Managing AI-powered Java App with API Management | It demonstrates how to use OpenAI ChatGPT APIs in Spring Boot, secure and manage the traffic with Apache APISIX | https://github.com/Boburmirzo/apisix-java-chatgpt-openaiapi | https://api7.ai/blog/managing-ai-powered-java-apps | Security, Authentication, JWT plugin, Consumers | Intermediate | Java, Yaml | +| Manage . NET-based APIs with Apache APISIX API Gateway | This is an example project focused on the usage of https://apisix.apache.org/ for applications developed in https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-6.0 | https://github.com/Boburmirzo/apisix-dotnet-docker | https://dev.to/apisix/manage-net-microservices-apis-with-apache-apisix-api-gateway-2cbk | Security, Authentication, Rate Limiting, Caching | Beginner | C#, Yaml | +| Chaining API requests with API Gateway | Learn how to create a custom plugin for https://apisix.apache.org/ API Gateway to handle client requests that should be called in sequence. | https://github.com/Boburmirzo/apisix-plugin-pipeline-request-demo | https://api7.ai/blog/chaining-api-requests-with-api-gateway | Custom plugin, Serverless, Request Chaining | Intermediate | Lua, Shell | +| Manage OpenAI APIs with Apache APISIX | Manages the OpenAI API traffic by creating a route, upstream and enabling some plugins. | https://github.com/Boburmirzo/apisix-open-ai-api | https://api7.ai/blog/power-ai-capabilities-with-apache-apisix | AI, Traffic control, Consumer, Rate-limiting, Prometheus, API versioning, Traffic split | Beginner | Shell, Yaml | +| Dynamic routing based on JWT Claim with Apache APISIX and Okta | Explore the benefits of adopting dynamic routing based on authentication attributes | https://github.com/Boburmirzo/dynamic-routing-with-apisix | https://api7.ai/blog/dynamic-routing-based-on-user-credentials | Dynamic routing, JWT, Authentication, Consumer management | Advanced | Shell, Yaml | +| Manage serverless APIs with Apache APISIX and Azure Functions | A simple example of how to manage Java-based serverless APIs built with Azure functions. | https://github.com/Boburmirzo/apisix-manage-serverless-apis | https://api7.ai/blog/manage-serverless-apis-with-apache-apisix | Serverless, Basic auth, Rate-limiting, Traffic management | Intermediate | Java, Shell | +| Manage API Consumers | Explains how to manage your single or multiple API consumers with Apache APISIX. | https://github.com/Boburmirzo/apisix-api-consumers-management | https://apisix.apache.org/docs/apisix/tutorials/manage-api-consumers/ | API consumers, Rate-limiting, Consumer groups | Beginner | Shell | +| Secure APIs with Apache APISIX API Gateway | How to use https://apisix.apache.org/plugins for securing your https://spring.io/guides/tutorials/rest/s and it demonstrates how to effectively use them. | https://github.com/Boburmirzo/apisix-plugin-spring-rest-demo | https://dev.to/apisix/secure-spring-boot-rest-api-with-apache-apisix-api-gateway-1nmg | Security, Authorization, Authentication, Monitoring | Beginner | Java | +| An API observability with Apache APISIX Plugins Example | Learn observing your APIs with Apache APISIX plugins | https://github.com/Boburmirzo/apisix-observability-plugins | https://boburmirzo.github.io/apisix-observability-plugins/ | Observability, Traces, Metrics, Logs | Beginner | Shell | +| End-to-end tracing with OpenTelemetry | Use OpenTelemetry and APISIX to start your journey into observability | https://github.com/nfrankel/opentelemetry-tracing | https://blog.frankel.ch/end-to-end-tracing-opentelemetry/ | Observability, Traces, OpenTelemetry | Intermediate | Kotlin, Python, Rust | +| Chopping the monolith | Extract HTTP endpoints from the monolith and gradually migrate to microservices using API Gateway | https://github.com/nfrankel/chop-monolith | https://blog.frankel.ch/chopping-monolith/ | Azure function, Response-rewrite | Beginner | Kotlin, JavaScript, HTML, Shell | +| Evolving your RESTful APIs, a step-by-step approach | Use API Gateway to evolve APIs step by step by versioning, splitting the traffic, doing canary releases, and more. | https://github.com/nfrankel/evolve-apis | https://blog.frankel.ch/evolve-apis/ | Proxy rewrite, Proxy mirror, Traffic split, Response rewrite, Redirect | Intermediate | Kotlin, Lua, Java | +| Discussing Backend For Front-end | Use API Gateway to build Backend For Frontend solution. | https://github.com/nfrankel/backend-for-frontend | https://blog.frankel.ch/backend-for-frontend/ | Public endpoint, Proxy-rewrite, Routing | Beginner | Python, Lua | +| Getting Hands-On with the New Kubernetes Gateway API | Tutorial about using the Gateway API in practice with Apache APISIX Ingress. | https://github.com/navendu-pottekkat/gateway-api | https://navendu.me/posts/kubernetes-gateway-with-apisix/ | Ingress, Kubernetes, Routing | Beginner | Shell | +| Custom Plugins in APISIX Ingress | Learn how to create and use a small custom Plugin with APISIX deployed in Kubernetes. | https://github.com/navendu-pottekkat/apisix-in-kubernetes/tree/master/custom-plugin | https://navendu.me/posts/custom-plugins-in-apisix-ingress/ | Custom plugins, Ingress, Kubernetes | Intermediate | Lua | +| Canary Release in Kubernetes With Apache APISIX Ingress | Guide on setting up a canary release in Kubernetes using https://apisix.apache.org/docs/ingress-controller/next/getting-started/. | https://github.com/navendu-pottekkat/apisix-in-kubernetes/tree/master | https://navendu.me/posts/canary-in-kubernetes/ | Ingress, Kubernetes, Canary release | Intermediate | Lua | +| An Introduction to Monitoring Microservices with Prometheus and Grafana | Instruction on how you can set up monitoring on your microservice application using two of the popular tools in this space, https://prometheus.io/, and https://grafana.com/. | https://github.com/navendu-pottekkat/monitoring-101 | https://navendu.me/posts/introduction-to-monitoring-microservices/ | Observability, Prometheus, Grafana | Intermediate | Go, Python |