MASMOVIL TECHNOLOGY
An-Thanh Pham Trinh
(Antán Fam Trin)
Thor 1.0 launch (late 2017)
Lumiere 1.0 launch (early 2018)
Thor wave 2 (2018)
Front-end Chapter Lead
@anthanh | #frontend-general | #tech-chat
Front-end arquitectures: Monolith
Full app returns client side render
e-shop
database
backend
frontend
simple
SEO friendly
high resources
slow delivery cadence
messy code
silos
front-end
back-end
Fat client
Separation of concerns
Better user experience
No SEO friendly
First time render
microservices
Front-end arquitectures: Frontend & Back-end
front-end
Front-end client & server bundle
Better user experience
Time to first render
SEO friendly
Isomorphic code
back-end
microservices
client
server
Front-end arquitectures: Universal client (I)
Front-end arquitectures: Universal client (II)
front-end
Core vs brand specific services
Code reuse
Tech convergence
Team mobiity
Isomorphic code
domain shared
models
services
selectors
helpers
reducers
ui shared
brand-1
brand-2
Front-end arquitectures: Multibrand client
components
styles
components
selectors helpers
reducers styles
components
selectors helpers
reducers styles
Yoigo e-shop channel
D-Hub assemble
Angular+Universal
yoigo.com
Yoigo e-care channel
D-Hub assemble
Angular
miyoigo.yoigo.com
E-shop
E-care
Apps
React+Next
React+Native
Multibrand e-shop
MásMóvil-legacy maintainer
React-Next
MásMóvil e-care
LlamaYa e-care
PHP
Leave your code better than you found it
production-ready code
Listen to the communnity
Collaborate & share
DRY
Automate all the things!
Processes documentation
There are only two hard things in Computer Science:
cache invalidation and naming things.
Phil Karlton
BasketAdditionalLinesTariffWithoutPricesMapper
Bedroom
Living
room
Bath-
room
Kitchen
Garage
Garden
Tariff
Terminal
Coverage
Checkout
SOHO
Offer
Login
Basket
divide and conquer
CODE SPLITTING 👎
CODE SPLITTING 👍
CODE SPLITTING 👎
TariffModule
TariffCard
TerminalModule
TerminalCard
OfferModule
OfferCard
TariffModule
selectUserTariffPrice
DeviceModule
selectUserDevicePrice
BasketModule
selectTotalPrice
CODE SPLITTING 👍
what
how can I test it?
user history
definition of production ready (DoPR)
automated checks
commit format
branch format
todo
doing
CR
QA
CAN
PROD
DoR
DoD
master ~= prod
canary = prod +1
VISUAL MANAGEMENT
SQUASH + MERGE
Autogenerated changelog!
FORMIK
ENZYME
Leadership
Leadership
Share values of quality, accountability and collaboration
Agreements visibility
Source of truth
onboarding step
How good are we at...?
Yes/No questions
based in Joel test
General stuff
DevOps friendly
QA friendly
Agile friendly
@anthanh | #frontend-general | #tech-chat