Rapid Application Development with

JUG Mainz, Sep. 9th 2020

About Me

Frederik Hahne

@atomfrede

atomfrede.gitlab.io

About Me

  • JHipster Core Team Member since 2015
  • Gradle Stream Lead
  • Recently working on vue, micronaut and heroku
  • JUG Paderborn Organizer
  • Software Developer at wescale in Paderborn

Intro
Overview
Demo

How long does it take to setup a modern web application?

How long does it take to go into production?

What is JHipster?

+

=

-

What is JHipster?

+

=

-

What is JHipster?

  • Full Stack Application Development Platform
  • 100% Open Source
  • Best Practice & High Quality Code
  • Community & Knowledge

Community

https://github.com/jhipster/prettier-java

Blueprints & Modules

Modules

  • Access to JHipster configuration
  • Act as new sub-generator
  • Add new functions

Blueprints

  • Overwrite parts of the main generator
  • Bring own templates, files etc
  • Add or replace parts of the main generator

Neo4J

  • We didn't do it
  • New Spring Module in the making
  • Chat and plan during JFN19
  • Neo4j migrations
  • First class SDN/RX support in JHipster

Bug Bounties

  • Contribute for fun and profit

https://hipster-labs.github.io/github-dashboard/

Let's get started

// Installed node, java and git (optional)	
npm install -g generator-jhipster	
npm install -g generator-jhipster-micronaut
		
mhipster

JDL

application {
  config {
    baseName hike
    applicationType monolith
    authenticationType oauth2
    packageName com.github.atomfrede.example.hike
    prodDatabaseType postgresql
  }
  entities *
}
entity HikingLocation {
    name String required
    description String required
}
entity Hike {
    name String required
    date LocalDate required
    description TextBlob required
    photo ImageBlob required
    type Difficulty required
    length Integer required
}
enum Difficulty {
  EASY,
  MEDIUM,
  HARD,
  ULTRA
}
relationship OneToOne { 
  Hike{startLocation(name)} to HikingLocation,
  Hike{destination(name)} to HikingLocation
}
paginate Hike with pagination
paginate HikingLocation with pagination
mhipster import-jdl app.jdl
docker-compose -f src/main/docker/keycloak.yml up -d
./mvnw

./mvnw -P-webpack
npm start

Rapid Application Generation

Tooling?

Going to the cloud

mhipster heroku

JHipster 7

JHipster 7

  • Finally Boot 2.3
  • Administration App
  • Internal Refactoring
  • Better Blueprint Support
  • Cypress & Vue in Core
  • Replace Netflix Stack with Spring Cloud
  • Reactive support for entity sub gen
  • Side-by-Side support
  • Microfrontends

https://www.jhipster.tech/jhipster-code/

More

  • jhipster.tech
  • github.com/jhipster
  • twitter.com/jhipster
  • jhipster-book.com
  • packtpub.com/application-development/full-stack-development-jhipster

Questions?

Made with Slides.com