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 @@

A legendary and official webapp

A GitHub Organization

There are quite a lot of forks in a special 
GitHub organization named spring-petclinic with different:

    -
  • Language: Java, TypeScript, Kotlin

  • -
  • Frontend: Angular, React, JSP, Thymeleaf
  • -
  • 
Persistence: Spring Data, Hibernate, Spring JDBC
  • +
  • Language: Java, TypeScript, Kotlin
  • +
  • Frontend: Angular, React, JSP, Thymeleaf, Mustache, Vaadin, Htmx
  • +
  • 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.