1. Testes automatizados
1.1. Testes unitários
1.1.1. Jest
1.2. Testes end-to-end
1.2.1. Cypress
1.3. Testing Library
1.4. Testes de stress UI
1.4.1. Jmeter
1.4.2. Selenium?
2. Monitoramento da aplicação
2.1. Sentry.io
2.2. UptimeRobot
2.3. Datadog?
2.4. Cloudwatch?
2.5. Grafana?
3. Referências de outras empresas
3.1. Ifood
3.1.1. RFCs
3.1.2. Microfrontends
3.1.2.1. React
3.1.2.2. Monorepo
3.1.2.3. Module Federation
3.1.3. Design System
3.2. Farfetch
3.2.1. Aplicação
3.2.1.1. Proxy redireciona para cada aplicação, dependendo da url que está sendo acessada.
3.2.1.2. Integração entre aplicações é via pacote - npm privado.
3.2.2. Mock Servers
3.2.3. Backend for frontend
3.2.3.1. Nest js
3.2.4. Frontend
3.2.4.1. React
3.2.4.2. Next.js
3.2.5. Monitoramento
3.2.5.1. Logz.io
3.2.5.2. Grafana
3.3. Magalu
3.3.1. Next.js
3.4. Americanas
3.5. MeLi
3.6. Leroy Merlin
3.7. Amazon
4. PWA
4.1. Cache em arquivos estáticos e requisições
4.2. Lhe dar com o modo offline
4.3. Recursos nativos de hardware
4.4. Push Notifications
4.5. Shortcuts
5. Mock Server
5.1. Utilizar inicialmente a biblioteca **Mock Service Worker** para mockar as chamadas a api do bff.
6. Prototipagem
6.1. Levar em consideração que são 3 visões diferentes a serem desenhadas.
7. Documentação?
7.1. Storybook
8. (Re)Design
8.1. Apenas melhorias pontuais
9. Princípios
9.1. SOLID
9.2. DRY
9.3. Agilidade
9.3.1. Daily Meetings
9.3.2. Feedbacks Contínuos
9.4. TDD
9.5. Git
9.5.1. Git Flow
9.5.2. Pull Requests padronizadas e bem escritas
10. Tecnologias
10.1. React JS
10.2. Next.js
10.3. Microfrontends?
10.3.1. Entender bem o que seria cada aplicação
10.3.1.1. Site Ecommerce
10.3.1.2. Lista de Casamento
10.3.1.3. Novas aplicações frontend ecommerce?
10.3.2. Ser agnóstico a framework em cada microfrontend
10.3.3. Podium?
10.3.3.1. Ferramenta que carrega microfrontends no server
10.3.4. Module Federation?
10.3.4.1. Alternativa mais recente implementada através do webpack
11. Caching
11.1. Cache Http com Nginx?
11.2. Service Worker
11.2.1. Workbox
11.3. CDN - Cloudfront
12. Equipe
12.1. Composição
12.1.1. Frontend
12.1.1.1. Italo Juan
12.1.1.2. Artur Castro
12.1.2. Design - UX/UI
12.1.2.1. Júlia
12.1.3. Backend (backend for frontend)
12.1.3.1. Matheus
12.1.3.2. Igor
12.1.4. Backoffice
12.1.4.1. Luis Filipe
12.1.4.2. Fernando
12.1.5. Tech Lead / Scrum Master
12.1.5.1. Lenon
12.1.6. PO
12.1.6.1. Juarez
12.1.6.2. Armando
12.1.7. Cloud
12.1.7.1. Quem?
13. Estrutura Projeto Ecommerce
13.1. Shared
13.1.1. Auth
13.1.1.1. Cadastro
13.1.1.2. Login (modal)
13.1.1.3. Esqueci a Senha
13.1.2. Header
13.1.2.1. Redirects
13.1.2.2. Busca
13.1.2.3. Categorias
13.1.2.4. Destaques
13.1.2.5. Dentre outros
13.1.3. Footer
13.1.3.1. Outras Páginas
13.1.3.2. Infos Gerais
13.1.3.3. Dentre outros
13.1.4. Error404
13.1.4.1. Conteúdo estático de erro por conta de rota não encontrada
13.1.5. Minha Conta - Área do Cliente
13.1.5.1. Meus Pedidos
13.1.5.2. Pedidos Telefone / WhatsApp
13.1.5.3. Meus Dados
13.1.5.4. Dentre outros
13.2. Site Ecommerce
13.2.1. Product Related - Vitrine
13.2.1.1. Home
13.2.1.2. Destaque
13.2.1.3. Categoria
13.2.1.4. Pesquisa
13.2.2. Product Core
13.2.2.1. Produto
13.2.3. Product Checkout
13.2.3.1. Pagamento
13.2.3.2. Carrinho
13.3. Lista de Casamento
13.3.1. Página estática
13.3.2. Home
13.3.3. Criar/Gerenciar lista
13.3.4. Gerenciar itens da lista
13.3.5. Visualizar lista publicada
14. Backoffice
14.1. Squad precisa estar bastante integrada
14.2. Precisamos de 3 visões de tela: desktop, mobile e tablet.
15. Integrações
15.1. SalesForce
15.2. Google Tag Manager
15.3. Hotjar
16. Infra
16.1. Segurança
16.1.1. WAF
16.2. CI/CD
16.2.1. CodeCommit integrado ao Kubernetes
16.2.2. Ao fazer deploy
16.2.2.1. Build
16.2.2.2. Testes
16.2.2.3. Implanta
16.3. Testes de carga, stress e performance
16.3.1. Locost
16.3.1.1. Analisar se funciona bem no front
16.3.2. Jmeter
16.4. Monitoramento
16.4.1. Grafana
16.4.2. Sentry
16.4.3. DynaTrace
16.4.4. Prometheus
16.5. Arquitetura de código
16.5.1. Monorepo
16.5.2. Microfrontends
16.5.2.1. Nginx
16.5.2.2. Module Federation?
16.6. Cache
16.6.1. Nível de infra
16.6.1.1. CloudFront
16.6.2. Nível de cliente
16.6.2.1. PWA
16.7. ´
17. Site Ecommerce FC
17.1. Testes automatizados
17.1.1. Testes unitários
17.1.1.1. Jest
17.1.2. Testes end-to-end
17.1.2.1. Cypress
17.1.3. Testing Library
17.1.4. Testes de stress UI
17.1.4.1. Jmeter
17.1.4.2. Selenium?
17.2. Monitoramento da aplicação
17.2.1. Sentry.io
17.2.2. UptimeRobot
17.2.3. Datadog?
17.2.4. Cloudwatch?
17.2.5. Grafana?
17.3. Referências de outras empresas
17.3.1. Ifood
17.3.1.1. RFCs
17.3.1.2. Microfrontends
17.3.1.2.1. React
17.3.1.2.2. Monorepo
17.3.1.2.3. Module Federation
17.3.1.3. Design System
17.3.2. Farfetch
17.3.2.1. Aplicação
17.3.2.1.1. Proxy redireciona para cada aplicação, dependendo da url que está sendo acessada.
17.3.2.1.2. Integração entre aplicações é via pacote - npm privado.
17.3.2.2. Mock Servers
17.3.2.3. Backend for frontend
17.3.2.3.1. Nest js
17.3.2.4. Frontend
17.3.2.4.1. React
17.3.2.4.2. Next.js
17.3.2.5. Monitoramento
17.3.2.5.1. Logz.io
17.3.2.5.2. Grafana
17.3.3. Magalu
17.3.3.1. Next.js
17.3.4. Americanas
17.3.5. MeLi
17.3.6. Leroy Merlin
17.3.7. Amazon
17.4. PWA
17.4.1. Cache em arquivos estáticos e requisições
17.4.2. Lhe dar com o modo offline
17.4.3. Recursos nativos de hardware
17.4.4. Push Notifications
17.4.5. Shortcuts
17.5. Mock Server
17.5.1. Utilizar inicialmente a biblioteca **Mock Service Worker** para mockar as chamadas a api do bff.
17.6. Prototipagem
17.6.1. Levar em consideração que são 3 visões diferentes a serem desenhadas.
17.7. Documentação?
17.7.1. Storybook
17.8. (Re)Design
17.8.1. Apenas melhorias pontuais
17.9. Princípios
17.9.1. SOLID
17.9.2. DRY
17.9.3. Agilidade
17.9.3.1. Daily Meetings
17.9.3.2. Feedbacks Contínuos
17.9.4. TDD
17.9.5. Git
17.9.5.1. Git Flow
17.9.5.2. Pull Requests padronizadas e bem escritas
17.10. Tecnologias
17.10.1. React JS
17.10.2. Next.js
17.10.3. Microfrontends?
17.10.3.1. Entender bem o que seria cada aplicação
17.10.3.1.1. Site Ecommerce
17.10.3.1.2. Lista de Casamento
17.10.3.1.3. Novas aplicações frontend ecommerce?
17.10.3.2. Ser agnóstico a framework em cada microfrontend
17.10.3.3. Podium?
17.10.3.3.1. Ferramenta que carrega microfrontends no server
17.10.3.4. Module Federation?
17.10.3.4.1. Alternativa mais recente implementada através do webpack
17.11. Caching
17.11.1. Cache Http com Nginx?
17.11.2. Service Worker
17.11.2.1. Workbox
17.11.3. CDN - Cloudfront
17.12. Equipe
17.12.1. Composição
17.12.1.1. Frontend
17.12.1.1.1. Italo Juan
17.12.1.1.2. Artur Castro
17.12.1.2. Design - UX/UI
17.12.1.2.1. Júlia
17.12.1.3. Backend (backend for frontend)
17.12.1.3.1. Matheus
17.12.1.3.2. Igor
17.12.1.4. Backoffice
17.12.1.4.1. Luis Filipe
17.12.1.4.2. Fernando
17.12.1.5. Tech Lead / Scrum Master
17.12.1.5.1. Lenon
17.12.1.6. PO
17.12.1.6.1. Juarez
17.12.1.6.2. Armando
17.12.1.7. Cloud
17.12.1.7.1. Quem?
17.13. Estrutura Projeto Ecommerce
17.13.1. Shared
17.13.1.1. Auth
17.13.1.1.1. Cadastro
17.13.1.1.2. Login (modal)
17.13.1.1.3. Esqueci a Senha
17.13.1.2. Header
17.13.1.2.1. Redirects
17.13.1.2.2. Busca
17.13.1.2.3. Categorias
17.13.1.2.4. Destaques
17.13.1.2.5. Dentre outros
17.13.1.3. Footer
17.13.1.3.1. Outras Páginas
17.13.1.3.2. Infos Gerais
17.13.1.3.3. Dentre outros
17.13.1.4. Error404
17.13.1.4.1. Conteúdo estático de erro por conta de rota não encontrada
17.13.1.5. Minha Conta - Área do Cliente
17.13.1.5.1. Meus Pedidos
17.13.1.5.2. Pedidos Telefone / WhatsApp
17.13.1.5.3. Meus Dados
17.13.1.5.4. Dentre outros
17.13.2. Site Ecommerce
17.13.2.1. Product Related - Vitrine
17.13.2.1.1. Home
17.13.2.1.2. Destaque
17.13.2.1.3. Categoria
17.13.2.1.4. Pesquisa
17.13.2.2. Product Core
17.13.2.2.1. Produto
17.13.2.3. Product Checkout
17.13.2.3.1. Pagamento
17.13.2.3.2. Carrinho
17.13.3. Lista de Casamento
17.13.3.1. Página estática
17.13.3.2. Home
17.13.3.3. Criar/Gerenciar lista
17.13.3.4. Gerenciar itens da lista
17.13.3.5. Visualizar lista publicada
17.14. Backoffice
17.14.1. Squad precisa estar bastante integrada
17.14.2. Precisamos de 3 visões de tela: desktop, mobile e tablet.
17.15. Integrações
17.15.1. SalesForce
17.15.2. Google Tag Manager
17.15.3. Hotjar
17.16. Infra
17.16.1. Segurança
17.16.1.1. WAF
17.16.2. CI/CD
17.16.2.1. CodeCommit integrado ao Kubernetes
17.16.2.2. Ao fazer deploy
17.16.2.2.1. Build
17.16.2.2.2. Testes
17.16.2.2.3. Implanta
17.16.3. Testes de carga, stress e performance
17.16.3.1. Locost
17.16.3.1.1. Analisar se funciona bem no front
17.16.3.2. Jmeter
17.16.4. Monitoramento
17.16.4.1. Grafana
17.16.4.2. Sentry
17.16.4.3. DynaTrace
17.16.4.4. Prometheus
17.16.5. Arquitetura de código
17.16.5.1. Monorepo
17.16.5.2. Microfrontends
17.16.5.2.1. Nginx
17.16.5.2.2. Module Federation?
17.16.6. Cache
17.16.6.1. Nível de infra
17.16.6.1.1. CloudFront
17.16.6.2. Nível de cliente
17.16.6.2.1. PWA
17.16.7. ´