Index

As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.

A

active record pattern 27

ahead-of-time (AOT) 105

Alert component 166

API gateway 14

AppBar component 180

App.css 122

App.js 122

application

creating, into GitHub repository 269, 270

distributing, as monolith versus microservice 212

navigation system, testing 198, 199

packaging 19, 20

pushing, into GitHub repository 269, 270

routes, testing 198, 199

application properties 12, 13

application router

setting up 136, 137

application’s features

auth-related features, testing 203-205

task management-related features, testing 205-207

testing 202

App.test.js 122

Arrange-Act-Assert (AAA) 195

authentication workflow, task manager application

frontend session, managing 144-148

Quarkus, configuring for React dev mode 142

React environments, configuring 143

auth-related features

testing 203-205

AuthResource class 76, 77

AuthService class 74-76

avatars 151

B

Babel 118

bcrypt 46

beans 44

Bill of Materials (BOM) 10

blocking synchronous endpoint

writing 41

buttons 151

C

CDI scopes

reference link 44

Cloud Native Computing Foundation (CNCF) 232

cluster configuration manifests 242

adjusting, from pom.xml file 242, 243

adjusting, with fragments 243-246

creating 242

creating, with Eclipse JKube 246, 247

cmd.exe terminal 8

command line

tests, running from 207-210

command line interface (CLI) tool 5, 257

Community Edition (CE) 107

CompleteChip component 181

container-based application 233

container image 14

building, with Eclipse JKube 237, 238

building without Docker, Jib used 240, 241

creating 235, 236

image repository, creating in Docker Hub 236

pushing, to Docker Hub 239, 240

pushing without Docker, Jib used 240, 241

content delivery network (CDN) 124

continuous delivery 2

continuous deployment 268

continuous integration (CI) 268

continuous testing 17-19

Create React App 118

create, read, update, and delete (CRUD) operations 23

cross-origin resource sharing (CORS) policy 142, 143

CRUD functionalities

adding 171

application layout, finalizing 186, 187

project management features, adding 171

task management features, adding 176

D

data persistence 22

dependencies 7

adding, to project 22

dependencies, Maven project (pom.xml) 10

Quarkus ArC 10

Quarkus JUnit5 11

Rest Assured 11

RESTEasy Reactive 10

development mode 14, 15

debugging 16

Dialog component 165, 166, 180

DialogActions component 166

DialogContent component 166

DialogTitle component 166

Docker container

native image, building 112, 113

Dockerfile, for Fly.io

creating 253, 254

Docker files 14

Docker Hub

container image, pushing to 239, 240

image repository, creating 236

Document Object Model (DOM) 170, 192

domain-driven design (DDD) 27

dummy page

application router, setting up 136, 137

displaying 134, 135

global store, setting up 135

implementing 138, 139

MUI theme, overriding 136

E

Eclipse JKube 14, 235

cluster configuration manifests, creating with 246, 247

container image, building with 237, 238

features 235, 236

Eclipse MicroProfile Configuration feature spec 12

EditPriority component 181

Elytron Security Common 23

endpoint definitions

addProject 172

getProjects 172

updateProject 172

Enterprise Edition (EE) 107

Enzyme 192

ESLint 118

ExceptionMapper class

implementation 62, 63

methods 63, 64

Exec Maven Plugin 217

Extreme Programming (XP) 268

F

flyctl

installation link 257

Fly.io 252

account, creating 257

application, creating 259, 260

application, deploying 262-265

Dockerfile, creating 253, 254

logging into 258

Maven profile, setting up 255-257

project, configuring 253

reference link 263

fly.toml app configuration

analyzing 260-262

reference link 262

fragments 243

cluster manifests, adjusting with 243-246

frontend applications

required dependencies adding 192, 193

testing 192

G

generally available (GA) 269

GitHub Actions 268

local git repository, initializing 271, 272

overview 269

personal access token (PAT), generating 271

pipeline, creating 272-279

GitHub Actions Marketplace

reference link 274

GitHub repository

application, creating into 269, 270

application, pushing into 269, 270

GitHub user account 270

Given-When-Then (GWT) 195

global store

setting up 135

GraalVM

setting up 107, 108

GraalVM Native Image 105

Grid component 181

H

happy path 94, 95

helpers

testing 198

Heroku 252

Hibernate 23

Hibernate Query Language (HQL) query 45

Hibernate Reactive Panache 22

hot reloading 14

HTTP API security, task manager

application, configuring 72

authentication service, implementing 73

HTTP resources, securing 82

implementing 70

key files, generating 70-72

logged-in user, obtaining 78

login interface, implementing 73

specific password-change operation, allowing 79-81

HTTP resource, for React application

application, running 222-225

creating 219-222

HTTP REST endpoint

blocking synchronous endpoint, writing 41

missing dependencies, adding 40

non-blocking asynchronous endpoint, writing 42

writing 40

I

IconButton component 170

image name

configuring 255

Ingress object 242

integrated development environment (IDE) 5

IntelliJ

tests, running 197

IntelliJ IDEA 5

reference link 5

work environment, setting up 5

Internet Engineering Task Force (IETF) 68

J

Jackson library

using 40, 41

Jakarta RESTful Web Services (JAX-RS) 10

annotations 4

Java 4

Java development kit (JDK) 105

Java Persistence API (JPA) 23

annotations 4

JavaScript XML (JSX) 127

Java virtual machine (JVM) 105

Jest 122

jest-dom 195

Jib 240

used, for building container image without Docker 240, 241

used, for pushing container image without Docker 240, 241

JKube

configuring, to use Dockerfile.fly file 255

JSON 40

JSON Web Token (JWT) 68

JUnit 86

JWT security

required dependencies, adding 69

using, in Quarkus 68

K

Keycloak 68

kubectl 247

Kubernetes 232

container-based application 233

local cluster, setting up with minikube 233, 234

Kubernetes Deployment 244

Kubernetes Maven Plugin

features 235, 236

Kubernetes Pod 235

Kubernetes Secret 244

Kubernetes Service 245

L

layout

state, managing 131, 132

layout component

creating 125, 132-134

MainDrawer component, creating 128-131

TopBar component, creating 125-127

live reloading 14

local git repository

initializing 271, 272

logged-in users

redirection, testing 200-202

logged-out users

redirection, testing 200

M

MainDrawer component

Box 129

Drawer 129

List 130

Toolbar 129

creating 128-131

Material Design 123

Maven 5

goal 5

profile, setting up for Fly.io 255-257

Maven project (pom.xml) 8

dependencies 10

dependency management 9, 10

Maven coordinates (GAV) 8

Maven properties 8, 9

plugins 11

profiles 11

Maven Resources Plugin 217

Maven Wrapper 8

Menu component 170

MenuItem component 170

Message Authentication Code (MAC) 68

MicroProfile 4

MicroProfile JWT RBAC 68

microservice distributed architecture 212, 213

advantages 213, 214

disadvantages 214

minikube

local cluster, setting up with 233, 234

references 234

task manager, deploying to 247, 248

Mock Service Worker (MSW) 193

monolithic approach 215, 216

MUI component

IconButton 127

Link 131

ListItemButton 131

ListItemIcon 131

ListItemText 131

Toolbar 127

Tooltip 127

Typography 127

MUI Core 123

MUI theme

overriding 136

Multi type 42

Mutiny 42

N

native application

running 227, 228

native build

configuring 225

frontend resources, including 225, 226

GatewayResource, fixing for native compilation 226

native executable

building 106, 107

GraalVM, setting up 107

native image

application resources, including 109

building 109, 110

building, in Docker container 112, 113

running 110-112

navigation system

testing 198, 199

nip.io 243

URL 243

non-blocking asynchronous endpoint

writing 42

npm run build command 121

npm run eject command 121

npm start command 120

npm test command 121

O

object-relational mapping (ORM) 4, 23

optimistic locking 31

P

package types

fast-jar 19

native 19

native-sources 19

uber-jar 19

Panache 23

password change dialog

implementing 162-166

password change feature

testing 99

personal access token (PAT)

generating 271

PowerShell terminal 8

private key 70

profiles 13

project

configuring, for Fly.io 253

dependencies, adding to 22

missing test dependency, adding to 86, 87

ProjectChip component 181

project delete feature

testing 100, 101

project management features

adding 171

components, creating for projects 173

new project dialog, implementing 173-175

project API Redux slice, defining 171-173

project selector drop-down list, implementing 175

Project Object Model (pom.xml file) 8

project-related features

testing 100

ProjectResource class 60

implementation 60, 61

ProjectService class 49

create(Project project) method 51

delete(long id) method 51

findById(long id) method 49, 50

listForUser() method 50

update(Project project) method 51

project structure 7

protected user management page, task manager application

link, adding to users page in MainDrawer 157, 158

user API Redux slice, defining with Redux Toolkit’s createApi function 152-155

users page, creating 155-157

public key 70

Pull Request (PR) 269

Q

Quarkus 3-5

configuring 24, 25

configuring, for React dev mode 142

JWT security, using 68

native executable, building 106, 107

testing 86

Quarkus application

bootstrapping 5-7

configuring, to build frontend 216-219

Quarkus ArC 10

Quarkus Dev Services 37

Quarkus JUnit5 11

Quarkus Maven plugin 11

Quarkus Quinoa 219

reference link 219

Quarkus Security 68

R

React 3, 118

React components

testing 194-196

React hooks 131

Reactive PostgreSQL Client 23

ReactJS 3

React Material UI component library

adding 123, 124

React project

creating 118-121

directory structure 121, 122

React Material UI component library, adding 123, 124

routing, adding 123

state management, adding 124, 125

React Router 123

BrowserRouter 137

Route 137

Routes 137

React Testing Library 192

reducer 132

Redux 124

Redux hooks

useDispatch() 134

useNavigate() 134

useSelector(state => state.layout.drawerOpen) 134

Redux Thunk 144

Redux Toolkit 124

repository pattern 27

REST Assured 11, 92

RESTEasy Reactive 6, 10, 40

router

testing 197, 198

S

screen functions

screen.getByTestId 196

screen.getByText 196

secure socket layer (SSL) 212, 262

SelectProject component 181

service exceptions

dealing with 62-65

set task complete feature

testing 101, 102

SmallRye Config 12

SmallRye JWT 68, 69

build dependency 70

Snackbars 151

software-as-a-service (SaaS) 269

source files 12

application properties 12, 13

Docker files 14

Java code 14

static resources 13

state management

adding 124, 125

Structured Query Language (SQL) 23

styled components 122

Supersonic Subatomic Java 4

T

task management features

adding 176

task API Redux slice, defining 176, 177

task edit dialog, implementing 177-182

task list page, implementing 182-184

task pages, adding to application router 185, 186

testing 205-207

task manager application

application, configuring 88

authentication, testing 88-94

authentication workflow, setting up 142

deploying 257

deploying, to minibuke 247, 248

exposing, to frontend 55

Fly.io account, creating 257

Fly.io app, deploying 262-265

Fly.io application, creating 259, 260

Fly.io, logging into 258

fly.toml app configuration, analyzing 260-262

login page, creating 148-152

native image, creating 109

ProjectResource 60, 61

protected user management page, adding 152

running 158, 189

security, implementing 70

TaskResource 61, 62

testing 87

UserResource 55-58

task manager business logic

implementing 43

ProjectService 49-51

TaskService 52-54

UserService 43-48

task manager data model

bootstrapped example classes, deleting 26

database tables, resulting from ORM entities 35

entities, creating 26

files, deleting 26

implementing 25, 26

initial data of application, loading 36

task manager entities

Panache repositories 27

Project entity 31, 33

Task entity 33-35

User entity 27-31

task-related features

testing 101

TaskResource class 61

implementation 61, 62

TaskService class 52

create(Task task) method 53

delete(long id) method 54

findById(long id) method 52, 53

listForUser() method 53

setComplete(long id, boolean complete) method 54

update(Task task) method 54

test-driven development (TDD) 17, 86, 202

test file

naming 194

tests

running, from command line 207-210

running, on IntelliJ 197

Test security JWT 87

test suite

users can create tasks 206

users can edit tasks 206

users can list tasks 206

text field 151

Toolbar component 180

TopBar component

creating 125-127

transport layer security (TLS) 262

U

unit testing 86, 194

Uni type 42

user creation feature

testing 94-96

user delete feature

testing 98

userEvent.click 204

userEvent.type 204

user icon

adding, to top bar 167-170

user interface (UI), Actions 269

user list endpoint

testing 93

user-related features

testing 93

UserResource class

creating 55

user entity’s password field, deserializing 59

UserService class 43

create(User user) method 46

creating 43-46

delete(long id) method 47, 48

findById(long id) method 45

findByName(String name) method 45

getCurrentUser() method 48

list() method 46

methods and annotations 56-59

update(User user) method 47

user-specific features

adding 162

password change dialog, implementing 162-166

user icon, adding to top bar 167-170

user update feature

testing 96-98

V

Vert.x 10

virtual machines (VM) 233

W

Webpack 118

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset