dmutro panin jhipster

26
JHipster Create a Spring Boot + AngularJS project in no time.

Upload: -

Post on 10-Jan-2017

25 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Dmutro Panin JHipster

JHipsterCreate a Spring Boot + AngularJS project in no time.

Page 2: Dmutro Panin JHipster

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

Page 3: Dmutro Panin JHipster

Agenda

▪ Scaffolding▪ Yeoman▪ What is JHipster?▪ Demo▪ More about JHipster▪ Q&A session

Page 4: Dmutro Panin JHipster

▪ Saves time▪ Includes accepted practices

Scaffolding

▪ Design time and Runtime scaffolding

Page 5: Dmutro Panin JHipster

Scaffolding workflow

Page 6: Dmutro Panin JHipster

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

Page 7: Dmutro Panin JHipster

http://yeoman.io/generators/

Generators

Page 8: Dmutro Panin JHipster

JHipster is a Yeoman generator, used to create a Spring Boot + AngularJS

project

Page 9: Dmutro Panin JHipster

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

Page 10: Dmutro Panin JHipster

yo gruntgulp

bowernpm

(not supported in JHipster 3.0)

http://jhipster.github.io/

Page 11: Dmutro Panin JHipster

Server side technologies

▪ Spring Boot▪ Spring Security▪ Gradle or Maven▪ Hibernate▪ ElasticSearch▪ Thymeleaf▪ Gatling▪ Cucumber

Page 12: Dmutro Panin JHipster

Client side technologies

▪ AngularJS▪ HTML5 + CSS3▪ Bootstrap▪ jQuery▪ Websockets▪ Sass▪ Browsersync▪ Karma▪ Protractor

Page 13: Dmutro Panin JHipster

JHipster databases

Page 14: Dmutro Panin JHipster

Database versioning

SQL

Liquibase Mongeez CQL

Page 15: Dmutro Panin JHipster

JHipster hibernate 2nd level cache

Page 16: Dmutro Panin JHipster

Let’s build an app

Page 17: Dmutro Panin JHipster
Page 18: Dmutro Panin JHipster

Creating an entity

yo jhipster:entity entityName

▪ Yoman sub-generator▪ JDL▪ JHipster-UML

yo jhipster:import-jdl fileName.jh

Page 19: Dmutro Panin JHipster

http://jhipster.github.io/jdl-studio/https://github.com/dr-mod/jhipster-books/blob/master/entities.jh

Page 20: Dmutro Panin JHipster

http://jhipster.github.io/modules/marketplace/#/details/generator-jhipster-bootswatch

npm install -g generator-jhipster-bootswatch

yo jhipster-bootswatch

Page 21: Dmutro Panin JHipster

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

Page 22: Dmutro Panin JHipster

Sub-generators

▪ entity▪ import-jdl▪ service▪ languages▪ server▪ client▪ heroku▪ aws▪ cloudfoundry

yo jhipster:sub-generator-name

npm\node_modules\generator-jhipster\generators

Page 23: Dmutro Panin JHipster

Testing

▪ UI - Karma▪ AngularJS integration - Protractor ▪ Performance - Gatling

gulp protractor

gulp test

mvnw gatling:execute

Page 24: Dmutro Panin JHipster

Run in Docker

mvnw package -Pprod docker:build

gradlew bootRepackage -Pprod buildDocker

docker-compose -f src/main/docker/app.yml

Page 25: Dmutro Panin JHipster

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

Page 26: Dmutro Panin JHipster

Questions