Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JHipster - The best way to breed a new app

JHipster - The best way to breed a new app

Presentation of the JHipster generator.

Presented at Javaforum Stockholm 20160322. The original presentation was performed by Rikard Thulin (@Rikard_Thulin) and Peter Lindh (@peterlindh) but was this time presented by Rikard and Ola Petersson (@olbpetersson)

Ola Petersson

March 22, 2016
Tweet

More Decks by Ola Petersson

Other Decks in Technology

Transcript

  1. JHipster the best way to breed a new webapp by

    Ola Petersson & Rikard Thulin
  2. Rikard Thulin Jforum JUG leader, entrepreneur, with Java since 1.0

    email: rikard.thulin at squeed.com twitter: @Rikard_Thulin Ola Petersson Full process full stack software engineer email: ola.petersson at squeed.com twitter: @olbpetersson We have an awesome culture and we can prove it! Plug
  3. + 11d Monitoring 1d Security 1d User Management 1d API

    doc 1d Internation- alization 1d Full text search 1d Minified Resources 4h Cache headers 4h Responsive UI 1d Browser sync 4h Social login 1d User management 1d
  4. Monitoring 1d Security 1d User Management 1d API doc 1d

    Internation- alization 1d Full text search 1d Minified Resources 4h Cache headers 4h Responsive UI 1d Browser sync 4h Social login 1d User management 1d
  5. JHipster rationale to exist “We can guarantee you that having

    everything working together smoothly, with security, caching and monitoring, isn't easy…” -- Official JHipster Slides
  6. JHipster rationale to exist “I [Matt Raible] did some quick

    calculations to see how many lines of code JHipster had produced. [...] I only had to write 1,152 lines of code. JHipster did the rest for me, generating 91.7% of the code” -- Matt Raible [The JHipster Mini-book]
  7. Is JHipster hip enough? - self assessment The project is

    2+ years old (2016/03): • 3,600 GitHub stars and 200+ contributors • 12,000 downloads / month • 10K app generations per month • Featured on Websites everywhere (Infoworld, SD Times, JavaWorld, Reddit...) • And it's growing rapidly
  8. Prereq Warning: npm hell may will apply npm install -g

    yo npm install -g bower npm install -g grunt-cli npm install -g generator-jhipster
  9. Grunt gives you automation for repetitive tasks such as “live

    editing” of code, sass compiling, jshint checking.... Grunt
  10. Spring Boot makes it easy to create stand-alone, production-grade Spring

    based Applications that you can "just run" make jar - not war Spring boot
  11. Scaffolding from database to AngularJS view • Database table •

    Liquibase change set • JPA Entity • Spring Data JPA Repository • Spring MVC REST Controller with CRUD operations • AngularJS router + controller + service + view • Integration tests + performance tests
  12. • Must have tool if you work with RDBMS •

    “Version control” for your database refactorings ◦ Database refactorings are defined in changesets, typically XML • Easy to use Key take away: If you use a RDBMS you should must use a tool like Liquibase Liquibase
  13. We use a free Heroku account • Heroku toolbelt must

    be installed • One simple command to package your application in “production” mode Just as easy to deploy to Cloud Foundry and AWS Deploy to cloud
  14. JHipster generates an extensive set of tests for each generated

    application. • Test tooling setup • Karma JS Unit test • Gatling stress test • DISCLAIMER: You need to write your own tests to test your business logic It is a best practice to validate the generated code by running all tests Testing
  15. JHipster 3.0 • Eureka • Elastic Search - Logstash -

    Kibana (ELK) • Hysterix Dashboard • Docker config generator • Open ID connect server
  16. References 1. The JHipster Mini-book 2. http://deepu.js.org/jh-slides-v3/#/intro 3. http://www.playbuzz.com/zariaq10/multiple-intelligences-what-smart-are-you 4.

    Jhipster.github.io 5. The JHipster Mini-book 6. https://telematicssolutions.files.wordpress.com/2015/08/loneworker1.jpg