React application architecture for production learn best practices and expert tips to deliver enterprise-ready react web apps

A hands-on guide to help you develop skills and confidence in building and structuring React applications in a well-organized way using the best tools in the React ecosystem Key Features Discover solutions to complex problems faced while creating production-ready apps with React Develop scalable Rea...

Descripción completa

Detalles Bibliográficos
Otros Autores: Alickovic, Alan, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: London, England : Packt Publishing [2023]
Edición:1st ed
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009711815206719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Understanding the Architecture of React Applications
  • Benefits of having a good application architecture
  • A good foundation for the project
  • Easier project management
  • Increased development speed and productivity
  • Cost-effectiveness
  • Better product quality
  • Exploring the architectural challenges of React applications
  • What are the challenges when building a React application?
  • Understanding architectural decisions when building React applications
  • Bad architectural decisions
  • Good architectural decisions
  • Planning our application
  • What are we building?
  • Application requirements
  • Data model overview
  • Exploring the technical decisions
  • Summary
  • Chapter 2: Setup and Project Structure Overview
  • Technical requirements
  • Next.js application overview
  • Why Next.js?
  • Next.js application structure
  • TypeScript setup overview and usage
  • Why TypeScript?
  • TypeScript setup
  • Basic TypeScript usage
  • ESLint setup overview
  • Prettier setup overview
  • Pre-committing checks setup overview
  • Project structure overview
  • Features
  • Summary
  • Chapter 3: Building and Documenting Components
  • Technical requirements
  • Chakra UI
  • Chakra UI setup
  • Building components
  • Button
  • InputField
  • Link
  • Storybook
  • Storybook configuration
  • Storybook scripts
  • Documenting components
  • Button stories
  • Exercises
  • Summary
  • Chapter 4: Building and Configuring Pages
  • Technical requirements
  • Next.js routing
  • Next.js rendering strategies
  • Client-side rendering
  • Server-side rendering
  • Next.js SEO
  • Layouts
  • Wrapping JSX of every page with the layout component
  • Attaching the layout to the page component and using it to wrap the entire component
  • Building the pages.
  • The public organization details page
  • The public job details page
  • The jobs page in the dashboard
  • The job details page in the dashboard
  • The create job page
  • 404 page
  • Summary
  • Chapter 5: Mocking the API
  • Technical requirements
  • Why is mocking useful?
  • Introduction to MSW
  • Configuration overview
  • Writing our first handler
  • Configuring data models
  • Configuring request handlers for API endpoints
  • API utils
  • Auth handlers
  • Jobs handlers
  • Organizations handlers
  • Summary
  • Chapter 6: Integrating the API into the Application
  • Technical requirements
  • Configuring the API client
  • Configuring React Query
  • Why React Query?
  • Configuring React Query
  • Defining the API layer for the features
  • Jobs
  • Organizations
  • Consuming the API in the application
  • Public organization
  • Public job
  • Dashboard jobs
  • Dashboard job
  • Create job
  • Summary
  • Chapter 7: Implementing User Authentication and Global Notifications
  • Technical requirements
  • Implementing the authentication system
  • Authentication system overview
  • Building authentication features
  • Protecting resources that require the user to be authenticated
  • Implementing notifications
  • Creating the store
  • Creating the UI
  • Integrating and using notifications
  • Summary
  • Chapter 8: Testing
  • Technical requirements
  • Unit testing
  • Integration testing
  • Dashboard jobs page
  • Dashboard job page
  • Job creation page
  • Public organization page
  • Public job page
  • Login page
  • End-to-end testing
  • Dashboard flow
  • Public flow
  • Summary
  • Chapter 9: Configuring CI/CD for Testing and Deployment
  • Technical requirements
  • What is CI/CD?
  • Using GitHub Actions
  • Workflows
  • Events
  • Jobs
  • Actions
  • Runners
  • Configuring the pipeline for testing
  • Code checks job
  • End-to-end testing job.
  • Configuring the pipeline for deploying to Vercel
  • Having a Vercel account
  • Disabling GitHub integration for Vercel
  • Linking the project to Vercel
  • Providing environment variables to GitHub Actions
  • Creating the job that will deploy the application
  • Summary
  • Chapter 10: Going Beyond
  • Feature improvements
  • Jobs feature improvements
  • Organization improvements
  • Adding job applications
  • Filtering and paginating lists of data
  • Adding user registration
  • Technical improvements
  • Server-side rendering and caching
  • React Query hydration for SSR
  • Using query key factories
  • Code scaffolding
  • Validating form inputs and API responses with Zod
  • Next.js 13
  • Appendix
  • GraphQL
  • Monorepos
  • Micro frontend architecture
  • Summary
  • Index
  • Other Books You May Enjoy.