All Projects → spring-petclinic → Spring Petclinic Reactjs

spring-petclinic / Spring Petclinic Reactjs

ReactJS (with TypeScript) and Spring Boot version of the Spring Petclinic sample application

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Spring Petclinic Reactjs

Cloud Enabled Microservice
Tasks microservice (Spring Boot, MVC, Data, Lombok, Cloud, OAuth2, Config, Eureka, Zuul, Hystrix, Docker)
Stars: ✭ 14 (-91.52%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Boot Shopping Cart
Simple shopping cart web app made using Spring Boot + Thymeleaf
Stars: ✭ 85 (-48.48%)
Mutual labels:  spring-data-jpa, spring-boot
Springboot Project
这是一个用SpringBoot+JPA打造的基于微信服务号平台的点餐系统的后端,前端是一个使用Vue.js构建的运行于微信公众号的WebApp。前后端完全分离,前后端之间通过RESTful风格的接口相连。
Stars: ✭ 1,034 (+526.67%)
Mutual labels:  spring-data-jpa, spring-boot
Sample Hazelcast Spring Datagrid
sample spring-boot applications integrated with hazelcast imdg, and providing hot cache with hazelcast and striim
Stars: ✭ 16 (-90.3%)
Mutual labels:  spring-data-jpa, spring-boot
Cli Spring Boot Scaffold
command line for generate crud and configs for spring boot projects
Stars: ✭ 113 (-31.52%)
Mutual labels:  spring-data-jpa, spring-boot
Search Spring Boot Starter
ElasticSearch封装基于ES版本6.4.2,极大简化了ES操作难度
Stars: ✭ 23 (-86.06%)
Mutual labels:  spring-data-jpa, spring-boot
Springboard
Spring Boot based production grade starter kit.
Stars: ✭ 59 (-64.24%)
Mutual labels:  spring-data-jpa, spring-boot
Hellokoding Courses
HelloKoding provides practical coding guides series of Spring Boot, Java, Algorithms, and other topics on software engineering
Stars: ✭ 490 (+196.97%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Cloud Flycloud
🔥🔥🔥FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中,该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Module工程。其中10个位微服务工程,这10个微服务工程构成了一个完整的微服务系统,微服务系统包含了8个基础服务,提供了一整套微服务治理功能,他们分别是配置中心module_c…
Stars: ✭ 1,514 (+817.58%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Blog
Spring Boot base Blog
Stars: ✭ 109 (-33.94%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+16149.7%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Boot Blog
Simple blog web app made using Spring Boot + Thymeleaf
Stars: ✭ 121 (-26.67%)
Mutual labels:  spring-data-jpa, spring-boot
New Bee
开源社区 vue + springBoot - 前后分离微服务的最佳实践
Stars: ✭ 619 (+275.15%)
Mutual labels:  spring-data-jpa, spring-boot
Spring Mvc Thymeleaf Crud
Spring MVC CRUD Application with Thymeleaf, HTML5, CSS3 and Bootstrap
Stars: ✭ 14 (-91.52%)
Mutual labels:  spring-data-jpa, spring-boot
Springboot Starterkit
Starter Kit for Spring Boot based (REST APIs and WebMVC) micro services.
Stars: ✭ 596 (+261.21%)
Mutual labels:  spring-data-jpa, spring-boot
Market
Simple web-market: Spring, JSP, REST, Hibernate (under modernization)
Stars: ✭ 47 (-71.52%)
Mutual labels:  spring-data-jpa, spring-boot
Springbootforbeginners
Spring Boot Tutorial For Beginners
Stars: ✭ 450 (+172.73%)
Mutual labels:  spring-data-jpa, spring-boot
Favorites Web
云收藏 Spring Boot 2.X 开源项目
Stars: ✭ 4,485 (+2618.18%)
Mutual labels:  spring-data-jpa, spring-boot
Jplusone
Tool for automatic detection and asserting "N+1 SELECT problem" occurences in JPA based Spring Boot Java applications and finding origin of JPA issued SQL statements in general
Stars: ✭ 91 (-44.85%)
Mutual labels:  spring-data-jpa, spring-boot
Springboot Restful Angular
springBoot,restful,jwt,angular4 搭建的前后端分离后台管理系统
Stars: ✭ 121 (-26.67%)
Mutual labels:  spring-data-jpa, spring-boot

React Frontend for Spring Boot PetClinic demo

Build Status

This project is a port of the Spring (Boot) PetClinic demo with a frontend built using ReactJS and TypeScript.

I have tried to make as few modifications to the backend code as necessary to the spring-boot branch of the original sample project. Mainly I've added the new package org.springframework.samples.petclinic.web.api that contains the REST Api that is used by the React frontend. In this package most of the classes are taken from the angularjs version of the demo.

Related projects

Note there is another Spring PetClinic example that uses React: spring-petclinic-graphql. Beside React that example uses GraphQL for API queries instead of the REST API.

Contribution

If you like to help and contribute (there's lot root for improvements! I've collected a list of ideas here: TODO.md) you're more than welcome! Please open an issue or contact me on Twitter so we can discuss together!

Install and run

Note: Spring Boot Server App must be running before starting the client!

To start the server, launch a Terminal and run from the project's root folder (spring-petclinic):

./mvnw spring-boot:run

When the server is running you can try to access the API for example to query all known pet types:

curl http://localhost:8080/api/pettypes

After starting the server you can install and run the client from the client folder:

  1. npm install (installs the node modules and the TypeScript definition files)
  2. PORT=4444 npm start
  3. Open http://localhost:4444

(Why not use the same server for backend and frontend? Because Webpack does a great job for serving JavaScript-based SPAs and I think it's not too uncommon to run this kind of apps using two dedicated server, one for backend, one for frontend)

Feedback

In case you have any comments, questions, bugs, enhancements feel free to open an issue in this repository. If you you want to follow me on twitter, my handle is @nilshartmann.


From the original sample README file:

Understanding the Spring Petclinic application with a few diagrams

See the presentation here

Running petclinic locally

	git clone https://github.com/spring-projects/spring-petclinic.git
	cd spring-petclinic
	git checkout springboot
	./mvnw spring-boot:run

You can then access petclinic here: http://localhost:8080/

In case you find a bug/suggested improvement for Spring Petclinic

Our issue tracker is available here: https://github.com/spring-projects/spring-petclinic/issues

Database configuration

In its default configuration, Petclinic uses an in-memory database (HSQLDB) which gets populated at startup with data. A similar setup is provided for MySql in case a persistent database configuration is needed. Note that whenever the database type is changed, the data-access.properties file needs to be updated and the mysql-connector-java artifact from the pom.xml needs to be uncommented.

You may start a MySql database with docker:

docker run -e MYSQL_ROOT_PASSWORD=petclinic -e MYSQL_DATABASE=petclinic -p 3306:3306 mysql:5.7.8

Working with Petclinic in Eclipse/STS

prerequisites

The following items should be installed in your system:

Note: when m2e is available, there is an m2 icon in Help -> About dialog. If m2e is not there, just follow the install process here: http://eclipse.org/m2e/download/

Steps:

  1. In the command line
git clone https://github.com/spring-projects/spring-petclinic.git
  1. Inside Eclipse
File -> Import -> Maven -> Existing Maven project

Looking for something in particular?

Spring Boot Configuration
The Main Class PetClinicApplication.java
Properties Files application.properties
Caching Use of EhCache CacheConfig.java ehcache.xml
Dandelion DatatablesFilter, DandelionFilter and DandelionServlet registration DandelionConfig.java
Spring MVC - XML integration CustomViewsConfiguration.java
Others Files
JSP custom tags WEB-INF/tags createOrUpdateOwnerForm.jsp
Bower bower-install maven profile declaration inside pom.xml
JavaScript libraries are defined by the manifest file bower.json
Bower configuration using JSON
Resource mapping in Spring configuration
sample usage in JSP
Dandelion-datatables ownersList.jsp vetList.jsp web.xml datatables.properties

Interaction with other open source projects

One of the best parts about working on the Spring Petclinic application is that we have the opportunity to work in direct contact with many Open Source projects. We found some bugs/suggested improvements on various topics such as Spring, Spring Data, Bean Validation and even Eclipse! In many cases, they've been fixed/implemented in just a few days. Here is a list of them:

Name Issue
Spring JDBC: simplify usage of NamedParameterJdbcTemplate SPR-10256 and SPR-10257
Bean Validation / Hibernate Validator: simplify Maven dependencies and backward compatibility HV-790 and HV-792
Spring Data: provide more flexibility when working with JPQL queries DATAJPA-292
Eclipse: validation bug when working with .tag/.tagx files (has only been fixed for Eclipse 4.3 (Kepler)). See here for more details. STS-3294

Contributing

The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.

For pull requests, editor preferences are available in the editor config for easy use in common text editors. Read more and download plugins at http://editorconfig.org.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].