Listing Details Page
Wilson Mendes
@willmendesneto
Google Developer Expert Web technologies
From monolith to
Page architecture
HI, IT'S ME
#PHOTOTIME
Once upon a time at
is not
benevolent
if you're not following the rules
/v1/listings/123
/v1/agency/123
/v1/agents/123
...
m.domain.com.au
Monolith
Highly coupled code
Mix of layers
Initial version
MVP
V2
S.E.O.
Easy to maintain
Reusable
Let's make it better
* however...
A
S
A
P
fter
eptember,
pril
robably
No more m.domain website
Component based
Web friendly
Migrate page by page
Constraints
WAT ?!?!
Can I use
as a PWA application
?!?!
using
microservices
How easy it is to upgrade
your app?
The micro * way
microservices, microframeworks, micro-whatever
Micro
frontend
The
Strangle
Pattern
Innovation
Component based
Web friendly
Checklist
Listing Details V1
Ok, good, but...
we still have HTTP calls everywhere
Aggregate API
Single data source
Single data source for the page
Stateless
Aggregate API - V1
/v1/listings/123
reads
Listing Indexer
Adding data into the data source
NodeJS plug-and-play tasks
Listening a Queue
Writes to Redis
Listing Indexer - V1
MESSAGE
QUEUES
write
write
write
MESSAGE
QUEUES
/v1/listings/123
reads
write
write
write
Aggregate, indexer
and new problems
how to control the async world?
EVENTUAL CONSISTENCY
// GET listings/1234
{
"location": [...]
}
// GET listings/1234
{
"location": [...],
"listing": {...}
}
Learning
From
Open source
Tooling
Metrics
everywhere
Release early
Release often
Listing Details V2
Next steps
Because the improvement never ends!
What if the
API goes down?
We are hiring at
wilson.neto@domain.com.au
Thank you
Wilson Mendes
@willmendesneto
Google Developer Expert Web technologies
Domain Listing Details: from monolith to microfrontend
By willmendesneto
Domain Listing Details: from monolith to microfrontend
- 3,083