15
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ JHipster, a Spring Boot + AngularJS application generator Julien Dubois, Chief Innovation Officer, Ippon Technologies @ juliendubois

JHipster for Spring Boot webinar

Embed Size (px)

Citation preview

Page 1: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

JHipster, a Spring Boot + AngularJS application generator

Julien Dubois, Chief Innovation Officer, Ippon Technologies @juliendubois

Page 2: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/2

Agenda

! Short introduction to JHipster

! Live coding

Page 3: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

Introduction

! What is JHipster? • A Spring Boot + AngularJS application generator

• Coded by @juliendubois & friends

• 100% Open Source

3

Page 4: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

Some numbers

! Web statistics from last month (02/2015) • More than 220,000 page views

• More than 10,000 downloads

! Github statistics • 1,741 stars

• 99 contributors

! Conferences all around the world: USA, Canada, Taiwan, France, Germany, Spain…

! Articles everywhere: Infoworld, SD Times, etc.

! Lots of feedback from successful projects

4

Page 5: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

What does JHipster do?

! Generate a Spring Boot back-end

! Generate an AngularJS front-end

! Configure a suite of tools

5

Page 6: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

The Spring Boot back-end

! Spring Boot

! Spring Security

! Spring Data JPA / Spring Data MongoDB / Cassandra

! Cache, Clustering, Monitoring…

6

Page 7: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

The AngularJS front-end

! Single-page Web application (or not!)

! HTML5 Boilerplate + Twitter Bootstrap

! i18n

! Websockets

7

Page 8: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

Suite of tools

! Yeoman

! Maven / Gradle

! Grunt / Gulp.js

! Bower

8

Page 9: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

Enough talking, let’s code!

9

Page 10: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

The « banking » application

! Manages « users » in a bank

! A « user » can have several « bankAccounts »

! A « bankAccount » can have several « operations »

! An operation has one or several « labels »

10

BankAccount

User

Operation

Label

Page 11: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/11

User

Name Birthday

OperationDate Description Amount

BankAccount

Name Balance

Label

Label

1

*1

*

* *

Page 12: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

Business logic

! The current user should only see his own bank account and his own operations

! Operations should be sorted by date, and displayed correctly

! The balance should be updated when a new operation is added

12

Page 13: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

Goals

! Generate the basic application • And have a look at what’s generated

! Generate the CRUD entities

! Add the business logic

! Deploy in production to CloudFoundry

! … in less than 40 minutes!

13

Page 14: JHipster for Spring Boot webinar

Demo

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

JHipster

Page 15: JHipster for Spring Boot webinar

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/15

Learn More. Stay Connected.

Twitter: twitter.com/java_hipster

Website: jhipster.github.io

Github: jhipster/generator-jhipster

Twitter: twitter.com/springcentral

YouTube: spring.io/video

LinkedIn: spring.io/linkedin

Google Plus: spring.io/gplus