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
./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:
npm install
(installs the node modules and the TypeScript definition files)PORT=4444 npm start
- 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)
git clone https://github.com/DimuthuKasunWP/spring-petclinic.git
cd spring-petclinic
git checkout springboot
./mvnw spring-boot:run
You can then access petclinic here: http://localhost:8080/
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
- In the command line
git clone https://github.com/DimuthuKasunWP/spring-petclinic.git
- Inside Eclipse
File -> Import -> Maven -> Existing Maven project
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 |