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.
Symbols
404 page
A
action 175
any type 21
API client
API endpoints
request handlers, configuring for 94
API, consuming in application 117
dashboard job 119
dashboard jobs 119
API layer, jobs feature 112
defining 112
API layer, organizations feature 116
API requests
validating, with Zod 198
application
building 9
data model, overview 11
planning, requirements 9
technical decisions, exploring 12-14
technical improvements 191
application, planning
functional requirements 10
non-functional requirements 10
application, technical improvements
API responses, validating with Zod 198
code scaffolding 196
form inputs, validating with Zod 196, 198
Next.js 13 198
query key factories, using 194, 196
React Query hydration, for SSR 193, 194
array types 22
authentication 13
authentication features, building
authenticated user, obtaining 132
authentication system
features, building 128
implementing 127
resources, protecting from unauthenticated user 133-135
B
Button component
C
code scaffolding 196
components
documenting 48
issues 45
preview, on landing page 44, 45
Component Story Format (CSF) 49
requisites 49
Continuous integration/continuous deployment (CI/CD) 173, 174
create job page 76
cross-site scripting (XSS) attacks 6
Cypress 14
D
dashboard job details page 73
dashboard jobs page 71
data model
overview 11
deploy job
E
Emotion 6
end-to-end testing 163
end-to-end tests 14
configuration 25
event 175
F
form inputs
functional requirements 10
organization admin dashboard 10
publicly facing part 10
G
GitHub Actions 174
action 175
environment variables, providing to 180
events 175
jobs 175
runner 175
workflows 174
H
Husky 27
I
Incremental Static Regeneration 191
InputField
integration testing 148
public organization page 155-157
integration tests 14
intersection types 23
J
JavaScript 19
Jest 14
job 175
Jotai 6
L
layout component
example 59
ways, for adding to pages 60-62
Link component
linting 25
lint-staged 27
M
micro frontend architecture 200
benefits 201
drawbacks 201
tools 201
mocking
benefits 83
uses 83
Mock Service Worker (MSW) 83, 84
configuring, in browser and server 84
configuring, for server 85
Configuration overview 84
model-view-presenter (MVP) 83
monorepo
features 200
MSW configuration, browser version 84
initialization 85
worker, configuring 85
MVP stage, jobs feature improvements
job applications, adding 189, 190
jobs feature improvements 187, 188
jobs information, adding with markdown editor 189
jobs information, updating with WYSIWYG editor 189
jobs, adding in draft state 188
jobs, deleting 188
jobs, updating 188
lists of data, filtering 191
lists of data, paginating 191
organization improvements 189
user registration, adding 191
N
Next.js 17
benefits 17
rendering strategies 56
routing 55
SEO 58
Next.js 13 198
non-functional requirements 10
notification
implementing 135
O
object-relational mapper (ORM) 91
object shape type 22
P
pages 55
building 62
dashboard job details page 73-75
public organization details page 62-66
pipeline, for deploying
configuring, to Vercel 179
pipeline configuration, for testing 176
end-to-end testing job 177, 178
configuration 26
primitive types 21
project structure 12
proofs of concept (POCs) 83
public job details page 67
public organization details page 62
Q
query key factories
R
React application
architectural challenges, exploring 3
bad architectural decisions 7, 8
good architectural decisions 8, 9
React Context API 6
React Query
React Query hydration
React Testing Library 14
Recoil 6
Redux with Redux Toolkit 6
rendering strategies, Next.js
incremental static regeneration 12, 56
server-side rendering 12, 56-58
request handlers configuration, for API endpoints
API utils 95
Organizations handlers 101-103
routing, Next.js 55
runner 175
S
server-side rendering (SSR) 56-58
drawbacks 70
React Query hydration 193, 194
soft delete 189
state management, types
form state 13
global state 13
local state 13
server state 13
URL state 13
static site generation 56
stories
creating, for Button component 49-51
Storybook 46
benefits 46
scripts 48
Styled Components 6
styling 13
T
Tailwind 6
technical decisions
authentication 13
project structure 12
rendering strategy 12
state management 13
styling 13
testing 14
testing 14
end-to-end testing 163
integration testing 148
any type 21
array types 22
configuration 20
generics 24
intersection types 23
object shape type 22
primitive types 21
React components 25
unions 23
unknown type 22
usage 21
TypeScript handbook
reference link 25
U
union type 23
unit testing 147
unit tests 14
unknown type 22
V
Vercel
account 179
GitHub integration, disabling for 179
pipeline, deploying to 179
project, linking to 180
W
workflow 174
Z
Zod
used, for validating API requests 198