Book Image

Full Stack Development with JHipster

By : Sasidharan, Nellaiyapen
Book Image

Full Stack Development with JHipster

By: Sasidharan, Nellaiyapen

Overview of this book

JHipster is a development platform to generate, develop, and deploy Spring Boot and Angular/React applications and Spring microservices. It provides you with a variety of tools that will help you quickly build modern web applications. This book will be your guide to building full stack applications with Spring and Angular using the JHipster tool set. You will begin by understanding what JHipster is and the various tools and technologies associated with it. You will learn the essentials of a full stack developer before getting hands-on and building a monolithic web application with JHipster. From here you will learn the JHipster Domain Language with entity modeling and entity creation using JDL and JDL studio. Moving on, you will be introduced to client side technologies such as Angular and Bootstrap and will delve into technologies such as Spring Security, Spring MVC, and Spring Data. You will learn to build and package apps for production with various deployment options such as Heroku and more. During the course of the book, you will be introduced to microservice server-side technologies and how to break your monolithic application with a database of your choice. Next, the book takes you through cloud deployment with microservices on Docker and Kubernetes. Going forward, you will learn to build your client side with React and master JHipster best practices. By the end of the book, you will be able to leverage the power of the best tools available to build modern web applications.
Table of Contents (16 chapters)

To get the most out of this book

To get the most out of this book, you will need to know basics of the following technologies:

  • Web technologies (HTML, JavaScript, and CSS)
  • Java 8
  • Basics of the Spring Framework
  • Basic understanding of SQL databases
  • Build tools (Maven or Gradle)
  • npm or Yarn

It will also be easier if you are familiar with using technologies such as Docker and Kubernetes, as it will help you grasp some of the chapters easily. 

You will also need JDK8, Git, Docker, and NodeJS installed; your favorite web browser; a terminal application; and your favorite code editor/IDE.

Download the example code files

You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packtpub.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Full-Stack-Development-with-JHipsterIn case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "At the backend, modify the save method of ProductOrderService.java to create an Invoice and Shipment for the ProductOrder and save them all."

A block of code is set as follows:

entity Product {
name String required
description String
price BigDecimal required min(0)
size Size required
image ImageBlob
}

enum Size {
S, M, L, XL, XXL
}

entity ProductCategory {
name String required
description String
}

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

entity ProductOrder {
placedDate Instant required
status OrderStatus required
invoiceId Long
code String required
}

Any command-line input or output is written as follows:

> cd invoice
> ./gradlew

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "You can alternatively test this via your Gateway application. Log in to    our Gateway application and then navigate to Administration | Gateway."

Warnings or important notes appear like this.
Tips and tricks appear like this.