Upload
-
View
26
Download
2
Embed Size (px)
Citation preview
JHipsterCreate a Spring Boot + AngularJS project in no time.
Dmytro Panin
▪ Senior Java Developer
▪ Java Architect
https://www.linkedin.com/in/[email protected] https://github.com/dr-mod/jhipster-books/
About me
http://www.slideshare.net/DmytroPanin/get-along-with-jhipster
Agenda
▪ Scaffolding▪ Yeoman▪ What is JHipster?▪ Demo▪ More about JHipster▪ Q&A session
▪ Saves time▪ Includes accepted practices
Scaffolding
▪ Design time and Runtime scaffolding
Scaffolding workflow
npm install -g yoA yeoman was a member of an English social class, generally a freeman who owned his own farm. (Wikipedia)
Yeoman – the web’s scaffolding tool for modern webapps
http://yeoman.io/generators/
Generators
JHipster is a Yeoman generator, used to create a Spring Boot + AngularJS
project
Project status
https://www.openhub.net/p/generator-jhipster
▪ 150 developers contributed▪ fifth most stared yeoman
generator▪ up to 15.500 downloads in
last 30 days
yo gruntgulp
bowernpm
(not supported in JHipster 3.0)
http://jhipster.github.io/
Server side technologies
▪ Spring Boot▪ Spring Security▪ Gradle or Maven▪ Hibernate▪ ElasticSearch▪ Thymeleaf▪ Gatling▪ Cucumber
Client side technologies
▪ AngularJS▪ HTML5 + CSS3▪ Bootstrap▪ jQuery▪ Websockets▪ Sass▪ Browsersync▪ Karma▪ Protractor
JHipster databases
Database versioning
SQL
Liquibase Mongeez CQL
JHipster hibernate 2nd level cache
Let’s build an app
Creating an entity
yo jhipster:entity entityName
▪ Yoman sub-generator▪ JDL▪ JHipster-UML
yo jhipster:import-jdl fileName.jh
http://jhipster.github.io/jdl-studio/https://github.com/dr-mod/jhipster-books/blob/master/entities.jh
http://jhipster.github.io/modules/marketplace/#/details/generator-jhipster-bootswatch
npm install -g generator-jhipster-bootswatch
yo jhipster-bootswatch
Modules
▪ Elasticsearch Reindexer▪ Basic Auth▪ Bootstrap Material Design▪ Bootswatch▪ Leaflet▪ Google Maps▪ Google Analyticsetc..
http://jhipster.github.io/modules/marketplace/ https://github.com/jhipster/generator-jhipster-module
Sub-generators
▪ entity▪ import-jdl▪ service▪ languages▪ server▪ client▪ heroku▪ aws▪ cloudfoundry
yo jhipster:sub-generator-name
npm\node_modules\generator-jhipster\generators
Testing
▪ UI - Karma▪ AngularJS integration - Protractor ▪ Performance - Gatling
gulp protractor
gulp test
mvnw gatling:execute
Run in Docker
mvnw package -Pprod docker:build
gradlew bootRepackage -Pprod buildDocker
docker-compose -f src/main/docker/app.yml
Links to check:
▪ http://yeoman.io/ ▪ http://yeoman.io/generators/ ▪ http://jhipster.github.io/ ▪ https://www.openhub.net/p/generator-jhipster
▪ https://github.com/dr-mod/jhipster-books
Questions