From 13f8ff3c29be9316ee8aea6f987d20dfcb433291 Mon Sep 17 00:00:00 2001
From: Antoine Rey
Date: Wed, 30 Oct 2024 19:09:31 +0100
Subject: [PATCH] Add two new forks: spring-petclinic-ai and
spring-petclinic-langchain4j
---
docs/forks.md | 46 ++++++++++++++++++++----------------
images/icon-langchain4j.png | Bin 0 -> 3055 bytes
images/icon-openai.svg | 1 +
index.html | 11 +++++----
4 files changed, 32 insertions(+), 26 deletions(-)
create mode 100644 images/icon-langchain4j.png
create mode 100644 images/icon-openai.svg
diff --git a/docs/forks.md b/docs/forks.md
index 712fbe2..cfe9d9d 100644
--- a/docs/forks.md
+++ b/docs/forks.md
@@ -11,27 +11,29 @@ The Spring Petclinic "canonical" implementation is hosted in the GitHub [spring-
All forks are centralized to the special GitHub org [spring-petclinic](https://github.com/spring-petclinic).
-|Project | GitHub Stars | Description | Main technologies |
-|:--------------------------------|:--------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------|
-|[spring-petclinic] | ![stars](https://img.shields.io/github/stars/spring-projects/spring-petclinic.svg?style=social&label=Star) | Official version of Spring PetClinic based on Spring Boot and Thymeleaf | ![](../images/icon-spring-boot.png) |
-|[spring-petclinic-microservices] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-microservices.svg?style=social&label=Star) | Distributed version of Spring Petclinic built with Spring Cloud and Netflix OSS | ![](../images/icon-spring-cloud.png) |
-|[spring-framework-petclinic] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-framework-petclinic.svg?style=social&label=Star) | Spring Framework XML configuration, JSP pages, 3 persistence layers: JDBC, JPA and Spring Data JPA | ![](../images/icon-spring-framework.png)|
-|[javaconfig branch] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-framework-petclinic.svg?style=social&label=Star) | Same frameworks as the [spring-framework-petclinic][] but with Java Configuration instead of XML | ![](../images/icon-spring-framework.png)|
-|[spring-petclinic-rest] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-rest.svg?style=social&label=Star) | Backend REST API | |
-|[spring-petclinic-kotlin] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-kotlin.svg?style=social&label=Star) | Kotlin version of [spring-petclinic][] | ![](../images/icon-kotlin.png) |
-|[spring-petclinic-reactjs] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-reactjs.svg?style=social&label=Star) | ReactJS (with TypeScript) and Spring Boot | ![](../images/icon-react.png) |
-|[spring-petclinic-angular] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-angular.svg?style=social&label=Star) | Angular front-end of the Petclinic REST API [spring-petclinic-rest][] | ![](../images/icon-angular.png) |
-|[spring-petclinic-graphql] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-graphql.svg?style=social&label=Star) | GraphQL version based on React Appolo, TypeScript and GraphQL Spring boot starter | ![](../images/icon-graphql.png) |
-|[spring-petclinic-cloud] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-cloud.svg?style=social&label=Star) | Fork of the [spring-petclinic-microservices] project packaged to be deployed on several Cloud platforms: Kubernetes and Cloud Foundry | ![](../images/icon-kubernetes.png) |
-|[spring-petclinic-angularjs] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-angularjs.svg?style=social&label=Star) | AngularJS, Spring Boot and Spring Data JPA | ![](../images/icon-angularjs.png) |
-|[spring-petclinic-data-jdbc] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-data-jdbc.svg?style=social&label=Star) | Branch of the official Spring PetClinic application with domain & persistence layer built with Spring Data JDBC instead of Spring Data JPA | ![](../images/icon-spring-boot.png) |
-|[spring-petclinic-reactive] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-reactive.svg?style=social&label=Star) | Reactive version of Spring PetClinic sample application based on Spring Webflux and Cassandra | ![](../images/icon-cassandra.png) |
-|[spring-petclinic-microservices-on-azure] | ![stars](https://img.shields.io/github/stars/azure-samples/spring-petclinic-microservices.svg?style=social&label=Star) | Deploy, automate and monitor distributed version of Spring Petclinic built with Spring Cloud and Netflix OSS on Azure Spring Cloud | ![](../images/icon-spring-cloud.png) |
-|[spring-petclinic-mustache] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-mustache.svg?style=social&label=Star) | Classic Spring PetClinic with Mustache templates | ![](../images/icon-mustache.png) |
-|[spring-petclinic-vaadin-fusion] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-vaadin-fusion.svg?style=social&label=Star) | Vaadin Fusion implementation of the Spring PetClinic sample including Reactive TypeScript frontend using Lit | ![](../images/icon-vaadin.png) |
-|[spring-petclinic-vaadin-flow] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-vaadin-flow.svg?style=social&label=Star) | Vaadin Flow implementation of the Spring PetClinic sample build 100% in Java without writing HTML or JavaScript | ![](../images/icon-vaadin.png) |
-| [spring-petclinic-htmx] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-htmx.svg?style=social&label=Star) | Htmx version of the Spring PetClinic sample application | ![](../images/htmx_logo.png) |
-| [spring-petclinic-istio] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-istio.svg?style=social&label=Star) | Spring PetClinic microservices running on Istio service mesh | ![](../images/icon-istio.png) |
+| Project | GitHub Stars | Description | Main technologies |
+|:------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------|
+| [spring-petclinic] | ![stars](https://img.shields.io/github/stars/spring-projects/spring-petclinic.svg?style=social&label=Star) | Official version of Spring PetClinic based on Spring Boot and Thymeleaf | ![](../images/icon-spring-boot.png) |
+| [spring-petclinic-microservices] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-microservices.svg?style=social&label=Star) | Distributed version of Spring Petclinic built with Spring Cloud and Netflix OSS | ![](../images/icon-spring-cloud.png) |
+| [spring-framework-petclinic] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-framework-petclinic.svg?style=social&label=Star) | Spring Framework XML configuration, JSP pages, 3 persistence layers: JDBC, JPA and Spring Data JPA | ![](../images/icon-spring-framework.png) |
+| [javaconfig branch] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-framework-petclinic.svg?style=social&label=Star) | Same frameworks as the [spring-framework-petclinic][] but with Java Configuration instead of XML | ![](../images/icon-spring-framework.png) |
+| [spring-petclinic-rest] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-rest.svg?style=social&label=Star) | Backend REST API | |
+| [spring-petclinic-kotlin] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-kotlin.svg?style=social&label=Star) | Kotlin version of [spring-petclinic][] | ![](../images/icon-kotlin.png) |
+| [spring-petclinic-reactjs] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-reactjs.svg?style=social&label=Star) | ReactJS (with TypeScript) and Spring Boot | ![](../images/icon-react.png) |
+| [spring-petclinic-angular] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-angular.svg?style=social&label=Star) | Angular front-end of the Petclinic REST API [spring-petclinic-rest][] | ![](../images/icon-angular.png) |
+| [spring-petclinic-graphql] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-graphql.svg?style=social&label=Star) | GraphQL version based on React Appolo, TypeScript and GraphQL Spring boot starter | ![](../images/icon-graphql.png) |
+| [spring-petclinic-cloud] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-cloud.svg?style=social&label=Star) | Fork of the [spring-petclinic-microservices] project packaged to be deployed on several Cloud platforms: Kubernetes and Cloud Foundry | ![](../images/icon-kubernetes.png) |
+| [spring-petclinic-angularjs] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-angularjs.svg?style=social&label=Star) | AngularJS, Spring Boot and Spring Data JPA | ![](../images/icon-angularjs.png) |
+| [spring-petclinic-data-jdbc] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-data-jdbc.svg?style=social&label=Star) | Branch of the official Spring PetClinic application with domain & persistence layer built with Spring Data JDBC instead of Spring Data JPA | ![](../images/icon-spring-boot.png) |
+| [spring-petclinic-reactive] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-reactive.svg?style=social&label=Star) | Reactive version of Spring PetClinic sample application based on Spring Webflux and Cassandra | ![](../images/icon-cassandra.png) |
+| [spring-petclinic-microservices-on-azure] | ![stars](https://img.shields.io/github/stars/azure-samples/spring-petclinic-microservices.svg?style=social&label=Star) | Deploy, automate and monitor distributed version of Spring Petclinic built with Spring Cloud and Netflix OSS on Azure Spring Cloud | ![](../images/icon-spring-cloud.png) |
+| [spring-petclinic-mustache] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-mustache.svg?style=social&label=Star) | Classic Spring PetClinic with Mustache templates | ![](../images/icon-mustache.png) |
+| [spring-petclinic-vaadin-fusion] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-vaadin-fusion.svg?style=social&label=Star) | Vaadin Fusion implementation of the Spring PetClinic sample including Reactive TypeScript frontend using Lit | ![](../images/icon-vaadin.png) |
+| [spring-petclinic-vaadin-flow] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-vaadin-flow.svg?style=social&label=Star) | Vaadin Flow implementation of the Spring PetClinic sample build 100% in Java without writing HTML or JavaScript | ![](../images/icon-vaadin.png) |
+| [spring-petclinic-htmx] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-htmx.svg?style=social&label=Star) | Htmx version of the Spring PetClinic sample application | ![](../images/htmx_logo.png) |
+| [spring-petclinic-istio] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-istio.svg?style=social&label=Star) | Spring PetClinic microservices running on Istio service mesh | ![](../images/icon-istio.png) |
+| [spring-petclinic-ai] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-ai.svg?style=social&label=Star) | Spring Petclinic application with a chatbot powered by OpenAI's Generative AI and the Spring AI project | ![](../images/icon-openai.svg) |
+| [spring-petclinic-langchain4j] | ![stars](https://img.shields.io/github/stars/spring-petclinic/spring-petclinic-langchain4j.svg?style=social&label=Star) | Spring Petclinic application with a chatbot powered by OpenAI's Generative AI and the LangChain4j project | ![](../images/icon-langchain4j.png) |
@@ -54,4 +56,6 @@ All forks are centralized to the special GitHub org [spring-petclinic](https://g
[spring-petclinic-vaadin-flow]: https://github.com/spring-petclinic/spring-petclinic-vaadin-flow
[spring-petclinic-htmx]: https://github.com/spring-petclinic/spring-petclinic-htmx
[spring-petclinic-istio]: https://github.com/spring-petclinic/spring-petclinic-istio
+[spring-petclinic-ai]: https://github.com/spring-petclinic/spring-petclinic-ai
+[spring-petclinic-langchain4j]: https://github.com/spring-petclinic/spring-petclinic-langchain4j
diff --git a/images/icon-langchain4j.png b/images/icon-langchain4j.png
new file mode 100644
index 0000000000000000000000000000000000000000..5bfe4cfc6cd6d946801153eb2afa9b51c577b7b8
GIT binary patch
literal 3055
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
literal 0
HcmV?d00001
diff --git a/images/icon-openai.svg b/images/icon-openai.svg
new file mode 100644
index 0000000..7ca399e
--- /dev/null
+++ b/images/icon-openai.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/index.html b/index.html
index 904e4ca..56a16ec 100644
--- a/index.html
+++ b/index.html
@@ -119,11 +119,12 @@
Persistence: Spring Data JPA/JDBC, Hibernate, Spring JDBC
Architecture: monolith vs microservices
-
REST API: GraphQL, Spring MVC
+
API: GraphQL, Spring MVC, OpenAPI
+
AI: Spring AI, LangChain4j
@@ -153,7 +154,7 @@
A Brief History
has decided to migrate the source code of PetClinic to GitHub and Spring Framework 3. PetClinic relives.
In 2016, PetClinic switched to Spring Boot. Dave Syer and Stéphane Nicoll took the leadership.
In parallel, Antoine Rey centralized all forks of Spring PetClinic into a GitHub Organization.
- Nowadays, 9 forks are maintained by the Spring PetClinic community.
+ Nowadays, 18 forks are maintained by the Spring PetClinic community.
If you have a special interest in a different technology stack that could be used to implement
the PetClinic or if you want to contribute to an existing PetClinic version, then please join the community there.