Skip to content

Instantly share code, notes, and snippets.

@nicolas-oliveira
Last active May 19, 2020 16:03
Show Gist options
  • Save nicolas-oliveira/65407f28fc6371426257f8c57785c2f8 to your computer and use it in GitHub Desktop.
Save nicolas-oliveira/65407f28fc6371426257f8c57785c2f8 to your computer and use it in GitHub Desktop.
  • Fase 01 - Inicio - Concluído!
    • 01 - Ambiente de desenvolvimento
    • 01 - Visual Studio Code
    • 02 - Tema e fonte [Terminal]
    • 03 - Oh My Zsh [Terminal]
    • 04 - Plugins [Terminal]
    • 05 - Extenções Chrome
    • 06 - Ferramentas
  • Fase 02 - Dominando Node.js
    • 01 - Dominando Node.js!
    • 02 - Ambiente e conceitos
      • 01 - Instalando Node & NPM
      • 02 - Instalação do Yarn
      • 03 - Conceitos do Node.js
      • 04 - Conceitos de API REST
      • 05 - Criando aplicação
      • 06 - Query & Route params
      • 07 - Utilizando Insomnia
      • 08 - Utilizando Nodemon
      • 09 - CRUD
      • 10 - Middlewares
      • 11 - Debugando aplicação
    • 03 - Desafio 01 - Conceitos do Node.js
    • 04 - Iniciando back-end do GoBarder
    • 05 - Iniciando back-end do GoBarder
      • 01 - Configurando estrutura
      • 02 - Nodemon & Sucrase
      • 03 - Conceitos do Docker
      • 04 - Configurando Docker
      • 05 - Sequelize & MVC
      • 06 - ESLint, Prettier & EditorConfig
      • 07 - Configurando Sequelize
      • 08 - Migration de usuário
      • 09 - Model de usuário
      • 10 - Criando loader de models
      • 11 - Cadastro de usuários
      • 12 - Gerando hash da senha
      • 13 - Conceitos de JWT
      • 14 - Autenticação JWT
      • 15 - Middleware de autenticação
      • 16 - Update do usuário
      • 17 - Validando dados de entrada
    • 07 - Continuando API do GoBarber
      • 01 - Configurando Multer
      • 02 - Avatar do usuário
      • 03 - Listagem de prestadores de serviço
      • 04 - Migration e model de agendamento
      • 05 - Agendamento de serviço
      • 06 - Validações de agendamento
      • 07 - Listando agendamentos do usuário
      • 08 - Aplicando paginação
      • 09 - Listando agenda do prestador
      • 10 - Configurando MongoDB
      • 11 - Notificando novos agendamentos
      • 12 - Listando notificações do usuário
      • 13 - Marcar notificações como lidas
      • 14 - Cancelamento de agendamento
      • 15 - Configurando Nodemailer
      • 16 - Configurando templates de e-mail
      • 17 - Configurando fila com Redis
      • 18 - Monitorando falhas na fila
      • 19 - Listando horários disponíveis
      • 20 - Campos virtuais no agendamento
      • 21 - Tratamento de exceções
      • 22 - Variáveis ambiente
    • 09 - Desafio 03 - Continuando aplicação
  • Fase 03 - Dominando React!
    • 01 - Dominando React!
      • 01 - Dominando React!
    • 02 - Introdução ao React
      • 01 - Conceitos do React
      • 02 - Configurando estrutura
      • 03 - Criando componente raiz
      • 04 - Importando CSS
      • 05 - Importando imagens
      • 06 - Class Components
      • 07 - Estado & Imutabilidade
      • 08 - Removendo itens do estado
      • 09 - Propriedades do React
      • 10 - Default Props & PropTypes
      • 11 - Ciclo de vida do componente
      • 12 - Debugando React com DevTools
    • 03 - Desafio 04 - Introdução ao React
    • 04 - Primeiro projeto com ReactJS
    • 05 - Primeiro projeto com ReactJS
      • 01 - Criando projeto do zero
      • 02 - ESLint, Prettier & EditorConfig
      • 03 - Roteamento no React
      • 04 - Styled Components
      • 05 - Estilos globais
      • 06 - Estilizando página Main
      • 07 - Adicionando repositórios
      • 08 - Listando repositórios
      • 09 - Utilizando LocalStorage
      • 10 - Navegação de rotas
      • 11 - Carregando dados da API
      • 12 - Definindo PropTypes
      • 13 - Exibindo repositório
      • 14 - Exibindo issues
    • 06 - Desafio 05 - Aplicação com ReactJS
    • 07 - Primeiro projeto com React Native
    • 08 - Primeiro projeto com React Native
      • 01 - Conceitos do React Native
      • 02 - Ambiente de desenvolvimento
      • 03 - Criando projeto
      • 04 - ESLint, Prettier & EditorConfig
      • 05 - Configurando Reactotron
      • 06 - React Navigation
      • 07 - Configurando StatusBar
      • 08 - Styled Components
      • 09 - Estilizando formulário
      • 10 - Acessando API do Github
      • 11 - Estilizando listagem
      • 12 - Loading e disabled
      • 14 - Salvando no storage
      • 15 - Realizando navegação
      • 16 - Buscando dados da API
      • 17 - Listando favoritos
    • 09 - Desafio 06 - Aplicação com React Native
  • Fase 04 - Arquitetura Flux e React Hooks
    • 01 - Arquitetura Flux e React Hooks

    • 02 - Arquitetura Flux

      • 01 - Conceitos do Redux
      • 02 - Estrutura do projeto
      • 03 - Configurando rotas
      • 04 - Estilos globais
      • 05 - Criando Header
      • 06 - Estilização da Home
      • 07 - Estilização do Carrinho
      • 08 - Configurando API
      • 09 - Buscando produtos da API
      • 10 - Configurando o Redux
      • 11 - Adicionando ao carrinho
      • 12 - Reactotron + Redux
      • 13 - Listando no carrinho
      • 14 - Produto duplicado
      • 15 - Remover produto
      • 16 - Refatorando as actions
      • 17 - Alterando quantidade
      • 18 - Calculando totais
      • 19 - Exibindo quantidades
      • 20 - Configurando Redux Saga
      • 21 - Reactotron + Saga
      • 22 - Separando actions
      • 23 - Estoque na adição
      • 24 - React Toastify
      • 25 - Estoque na alteração

      26 - Navegando no Saga

    • 03 - Desafio 07 - Redux

    • 04 - Utilizando React Hooks

    • 05 - Utilizando React Hooks

      • 01 - Configurando estrutura
      • 02 - Hook useState
      • 03 - Hook useEffect
      • 04 - Hook useMemo
      • 05 - Hook useCallback
      • 06 - Convertendo classe
      • 07 - Hooks com Redux
    • 06 - Desafio 08 - Hooks

  • Fase 05 - A fundo no React e React Native!
    • 01 - GoBarber web
      • 01 - Estrutura configurada
      • 02 - Ajustes na API
      • 03 - Configurando rotas
      • 04 - Configurando Reactotron
      • 05 - Rotas privadas
      • 06 - Layouts por página
      • 07 - Estilos globais
      • 08 - Utilizando Root Import
      • 09 - Estilização da autenticação
      • 10 - Utilizando Unform
      • 11 - Validações
      • 12 - Configurando store
      • 13 - Autenticação
      • 14 - Armazenando perfil
      • 15 - Persistindo autenticação
      • 16 - Loading da autenticação
      • 17 - Exibindo toasts
      • 18 - Cadastro na aplicação
      • 19 - Requisições autenticadas
      • 20 - Configurando Header
      • 21 - Estilizando notificações
      • 22 - Notificações
      • 23 - Página de perfil
      • 24 - Atualizando perfil
      • 25 - Foto de perfil
      • 26 - Dados do Header
      • 27 - Logout da aplicação
      • 28 - Estilização do Dashboard
      • 29 - Navegando entre dias
      • 30 - Listando agendamentos
    • 02 - Desafio 09 - Front-end do desafio final
    • 03 - GoBarber mobile
      • 01 - Estrutura configurada
      • 02 - Configurando Root Import
      • 03 - Rotas de autenticação
      • 04 - Configurando background
      • 05 - Input & Button
      • 06 - Página SignIn
      • 07 - Página SignUp
      • 08 - Configurando StatusBar
      • 09 - Dicas de acessibilidade
      • 10 - Reactotron
      • 11 - Configurando Redux
      • 12 - Conectando Redux
      • 13 - Rota inicial
      • 14 - Estilizações das rotas
      • 15 - Lista de agendamentos
      • 16 - Agendamentos da API
      • 17 - Atualização de perfil
      • 18 - Logout
      • 19 - Rotas de agendamento
      • 20 - Listagem de prestadores
      • 21 - DatePicker por plataforma
      • 22 - Selecionando horário
      • 23 - Confirmando agendamento
      • 24 - Load de agendamentos
    • 04 - Desafio 10 - Mobile do desafio final
  • Fase 06 - Testes e Deploy no Node.js
    • 01 - Testes no NodeJS
      • 01 - Conceitos de testes
      • 02 - Configurando projeto
      • 03 - Configurando Jest
      • 04 - Variáveis ambiente
      • 05 - Teste de criação de usuário
      • 06 - E-mail duplicado
      • 07 - Criptografia de senha
      • 08 - Gerando dados aleatórios
    • 02 - Deploy no NodeJS
      • 01 - Criando servidor.mp4
      • 02 - Configurando servidor.mp4
      • 03 - Clonando aplicação.mp4
      • 04 - Criando serviços.mp4
      • 05 - Rodando servidor.mp4
      • 06 - Dicas do SSH.mp4
      • 07 - Configurando NGINX.mp4
      • 08 - Utilizando PM2.mp4
      • 09 - Integração contínua.mp4
  • Fase 07 - Testes no ReactJS e React Native
    • 01 - Testes no ReactJS e React Native
      • 01 - Configurando ambiente
      • 02 - Primeiro teste
      • 03 - Testando formulário
      • 04 - Mock do LocalStorage
      • 05 - Mock do useSelector
      • 06 - Mock do useDispatch
      • 07 - Testando reducers
      • 08 - Testando sagas
      • 09 - Mock do axios
      • 10 - Coverage report
      • 11 - Testes no React Native
    • 02 - Deploy no ReactJS e React Native
      • 01 - Deploy de ReactJS (Web)
      • 02 - Configurações visuais no Android
      • 03 - Configurações visuais no iOS
      • 04 - Configurando Code Push
      • 05 - Configurando One Signal
      • 06 - Enviando notificações push
      • 07 - Configurando Appcenter
      • 08 - Configurando ambiente no Android
      • 09 - Configurando ambiente no iOS
      • 10 - Subindo ao Github
      • 11 - Distribuindo Staging Android
      • 12 - Distribuindo Staging iOS
      • 13 - Enviando alteração via CodePush
      • 14 - Publicando app Android
      • 15 - Publicando app iOS
  • Fase 08 - Recursos avançados Node.js
    • 01 - Patterns e recursos avançados
      • 01 - Conceitos de Patterns
      • 02 - Abstraindo validações
      • 03 - Abstraindo agendamento
      • 04 - Abstraindo controllers
      • 05 - Estrutura de cache
      • 06 - Cache de prestadores
      • 07 - Estratégias de cache
    • 02 - Segurança no Node.js
      • 01 - Utilizando Express Brute
      • 02 - Utilizando Helmet
      • 03 - Utilizando Rate Limit
      • 04 - Utilizando CORS
      • 05 - Github e Greenkeeper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment