Full Stack Development with Spring Boot 3 and React: Build modern web apps using the power of Java, React and TypeScript [Fourth Edition] 9781805122463

Full Stack Development with Spring Boot 3 and React contains a wealth of practical guidance for picking up full stack de

497 105 22MB

English Pages 455 Year 2023

Report DMCA / Copyright

DOWNLOAD FILE

Full Stack Development with Spring Boot 3 and React: Build modern web apps using the power of Java, React and TypeScript [Fourth Edition]
 9781805122463

Table of contents :
Preface
Who this book is for
What this book covers
To get the most out of this book
Get in touch
Part I: Backend Programming with Spring Boot
Setting Up the Environment and Tools – Backend
Technical requirements
Installing Eclipse
Understanding Gradle
Using Spring Initializr
Creating a project
Running the project
Spring Boot development tools
Logs and problem-solving
Installing MariaDB
Summary
Questions
Further reading
Understanding Dependency Injection
Technical requirements
Introducing dependency injection
Using dependency injection in Spring Boot
Summary
Questions
Further reading
Using JPA to Create and Access a Database
Technical requirements
Basics of ORM, JPA, and Hibernate
Creating the entity classes
Creating CRUD repositories
Adding relationships between tables
Setting up a MariaDB database
Summary
Questions
Further reading
Creating a RESTful Web Service with Spring Boot
Technical requirements
Basics of REST
Creating a RESTful web service with Spring Boot
Using Spring Data REST
Documenting a RESTful API
Summary
Questions
Further reading
Securing Your Backend
Technical requirements
Understanding Spring Security
Securing your backend with a JSON Web Token
Securing the login
Securing the other requests
Handling exceptions
Adding a CORS filter
Role-based security
Using OAuth2 with Spring Boot
Summary
Questions
Further reading
Testing Your Backend
Technical requirements
Testing in Spring Boot
Creating test cases
Testing with Gradle
Test-driven development
Summary
Questions
Further reading
Part II: Frontend Programming with React
Setting Up the Environment and Tools – Frontend
Technical requirements
Installing Node.js
Installing Visual Studio Code
VS Code extensions
Creating and running a React app
Modifying a React app
Debugging a React app
Summary
Questions
Further reading
Getting Started with React
Technical requirements
Creating React components
Examining our first React app
Useful ES6 features
Constants and variables
Arrow functions
Template literals
Object destructuring
Classes and inheritance
JSX and styling
Props and state
Props
State
Stateless components
Conditional rendering
React hooks
useState
Batching
useEffect
useRef
Custom hooks
The Context API
Handling lists with React
Handling events with React
Handling forms with React
Summary
Questions
Further reading
Introduction to TypeScript
Technical requirements
Understanding TypeScript
Common types
Functions
Using TypeScript features with React
State and props
Events
Creating a React app with TypeScript
Vite and TypeScript
Summary
Questions
Further reading
Consuming the REST API with React
Technical requirements
Promises
async and await
Using the fetch API
Using the Axios library
Practical examples
OpenWeather API
GitHub API
Handling race conditions
Using the React Query library
Summary
Questions
Further reading
Useful Third-Party Components for React
Technical requirements
Installing third-party React components
Working with AG Grid
Using the Material UI component library
Managing routing with React Router
Summary
Questions
Further reading
Part III: Full Stack Development
Setting Up the Frontend for Our Spring Boot RESTful Web Service
Technical requirements
Mocking up the UI
Preparing the Spring Boot backend
Creating the React project for the frontend
Summary
Questions
Further reading
Adding CRUD Functionalities
Technical requirements
Creating the list page
Fetching data from the backend
Using environment variables
Adding paging, filtering, and sorting
Adding the delete functionality
Displaying a toast message
Adding a confirmation dialog window
Adding the add functionality
Adding the edit functionality
Exporting the data to CSV
Summary
Questions
Further reading
Styling the Frontend with MUI
Technical requirements
Using the MUI Button component
Using the MUI Icon and IconButton components
Using the MUI TextField component
Summary
Questions
Further reading
Testing React Apps
Technical requirements
Using Jest
Using the React Testing Library
Using Vitest
Installing and configuring
Running our first test
Testing our Carlist component
Firing events in tests
End-to-end testing
Summary
Questions
Further reading
Securing Your Application
Technical requirements
Securing the backend
Securing the frontend
Creating a login component
Implementing REST API calls
Refactoring duplicate code
Displaying an error message
Logging out
Summary
Questions
Further reading
Deploying Your Application
Technical requirements
Deploying the backend with AWS
Deploying our MariaDB database
Deploying our Spring Boot application
Deploying the frontend with Netlify
Using Docker containers
Summary
Questions
Further reading
Other Books You May Enjoy
Index

Polecaj historie