Giter Site home page Giter Site logo

paulopradella / dio-bootcamp-fullstack-eduzz Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 14.58 MB

Repositório do boocamp realizado na DIO

HTML 7.77% CSS 3.24% JavaScript 40.77% TypeScript 43.84% Gherkin 0.02% Shell 1.24% Starlark 0.33% Java 1.09% Ruby 0.15% Objective-C 0.78% Dockerfile 0.34% Portugol 0.42%

dio-bootcamp-fullstack-eduzz's Introduction

Bootcamp Fullstack Eduzz-DIO

Repositório criado para embarcar todo o conhecimento adquirido durante o BootCamp Fullsack Eduzz realizado na plataforma DIO (Digital Innovation One).

Conteúdo visto nas aulas:

Boas-vindas ao Bootcamp Eduzz Fullstack Developer #2

Mentoria 01: Aula inaugural: Como ser o próximo contratad pela Edzz:

Lógica de programação essencial:

  1. Introdução a lógica de programação:
  • Entendendo o que é lógica
  • O que são algoritmos e pseudocódigos
  • Aprendendo fluxograma, variáveis e constantes
  • Tomada de decisões e expressões
  • Como utilizar a concatenação
  1. Introdução ao Portugol:
  • Aprenda com utilizar uma estrutura de repetição
  • O que são linguagens de programação?
  • Aprenda a utilizar desvios condicionais e boas práticas em programação
  • Trabalhando com laços de repetição em Portugol
  • Aplicação prática com matrizes e vetores

Projetos ágeis com SCRUM:

  1. Introdução ao SCRUM
  • Introdução a gestão de projetos com SCRUM
  • Papéis e responsabilidades de cada um do time
  • Cerimônias do Scrum
  • Gestão de projetos Tradicional x Ágil
  1. Fundamento de um projeto ágil
  • Papéis e responsabilidade - Product Owner
  • Analisando escopo e definindo propriedades
  • Papel do PO na transformação digital
  1. Conceitos e atividades essenciais para o sucesso de um projeto ágil
  • Aprenda sobre os conceitos e planejameto de tarefas
  • Rotinas de um time ágil

Introdução ao Git e ao GitHub:

  1. Introdução ao Git
  • Entendendo o que é Git e sua importância
  1. Navegação via command line interface e instalação
  • Comandos básicos para um bom desempenho no terminal
  • Realizando a instalação do GIT
  1. Entendendo como o Git funciona por baixo dos panos
  • Tópicos fundamentais para entender o funcionamento do Git
  • Objetos internos do Git
  • Chave SSH e Token
  1. Primeiros comandos com Git
  • Iniciando o Git e criando um commit
  1. Ciclo de vida dos arquivos no Git
  • Passo a passo no ciclo de vida
  1. Introdução ao GitHub
  • Trabalhando com o GitHub 7.Resolvendo conflitos
  • Como os conflitos acontecem no GitHub e como resolvê-los

Criando seu primeiro repositório no GitHub para compartilha seu progresso:

  • Introdução e apresentação do projeto
  • Git e Github: Relembrando algunas coisinhas
  • Desafio de projeto
  • Entendendo o desafio

Mentoria 02: Carreira Eduzz cultura e govenança

Introdução a criação de websites com HTML5 e CSS3:

  1. Introdução ao curso de HTML
  2. Enentedendo o que é semântica
  3. Como usar textos e links em HTML
  4. Como inserir uma imagem em seu site
  5. Como organizar listas com HTML
  6. Introdução e conceitos básicos de CSS3
  7. Estilizando elementos, textos e listas
  8. Dimesão e alinhamento

JavaScript ES6 essencial:

  1. Introdução ao ES6
  • História e conceitos
  • Curryng, Hoisting, Imutabilidade, Tipos e Variáveis
  1. Tipos, variáveis, operadores, condicionais e repetição JavaScript ES6
  • Tipos e variáveis
  • Functions e operadores
  • Spred, estruturas condicionais e repetição
  1. Orientação a objeto e Design Patterns com a linguagem ES6
  • Introdução a orientação a objetos
  • Introdução a Design Patterns
  1. Manipulacão e iterração de arrays
  • Crtiando e manipulando arrays
  • Iterar, buscar e transformar elemetntos

Desenvolvimento avaçado com JavaScript Es6:

  1. Funções avançadas do ES6
  • Funções avançadas do ES6
  • Aprenda o que é e como trabalhar com Arrow Functions
  • Default Function Arguments
  • Enhanced Object Literals
  1. Aplicando conceitos Rest, Sprea Operator e Destructuring
  • Conheça Rest e Spread Operator
  • Como usar Destructuring em ReactJS
  1. Introdução a Generators
  • Symbols e Iterators
  • Aprenda sobre Generators e onde utilizá-los
  1. Aplicando conceitos Promises e Fetch
  • Introdução da aula
  • Callbacks e Promises
  • Fetch, Async/Await e EventEmitter
  • Aplicando e praticando os conceitos
  1. Conceitos aplicados a qualidade de código e automação de teste em JS
  • Introdução e conceitos da aula
  • Testes, TDD e BDD
  • Conheça Mocha, Chai e Sinon
  • Veja como trabalhar com Chai - uma excelente biblioteca
  • Desenvolvendo códigos com Sinon
  1. Tratamentos de exceção
  • Introdução à aula
  • Como identificar os erros
  • Debugging parte 1
  • Debugging parte 2

Introdução ao TypeScript: Explorando classes, tipos e interfaces:

  1. Exemplo das vantagens fo typescript
  2. Criando o arquivo index.ts executando o comando parcel
  3. Executando a função soma com typescript
  4. Como funcionam as interfaces
  5. Como funcionam os types
  6. Tratando a tag input
  7. O que são Generic types
  8. Desenvolvendo condicionais a partir de parâmetros
  9. Utilizando o caracter "?" para variáveis opcionais
  10. Criando variáveis com propriedade readonly e private
  11. Como importar bibliotecas com typescript
  12. Exemplo de como usar Omit e conclusão do curso

Resolvendo Desafios de Código em Javascript:

Resolvendo Desafios Básicos em Javascript:

Criando seu jogo de memória estilo Genius

Mentoria 03: Projeto Eduzz: Explicando o projeto Eduzz e prototipando a aplicação

Introdução ao ReactJS

  1. Introdução ao ReactJS
  • Conheça a tecnologia ReactJS
  • Aprenda a configurar o ReactJS
  • Renderizando elementos
  • Conheça os ecossistemas do ReactJS
  1. Integrando webpack ao desenvolvimento com ReactJS
  • O que é webpack?
  • Aprenda a configurar o webpack
  • Instalação e configuração do ESLint
  1. Conceitos aplicados aos tipos de dados e condições da biblioteca
  • Renderização Condicional
  • Listas e Chaves
  • Manipulando Eventos
  • Conheça dicas para pensar do jeito ReactJS

Trabalhando com componentes em React

  • Preparação do ambiente
  • Desenvolvendo o Hello World no App.js
  • Primeiros passos na estrutura de um componente
  • Importando um componente
  • Preparando um componente dinâmico
  • Finalizando um componente dinâmico e conclusão da aula

Desenvolvimento de aplicações pata internet com React

  1. Trabalhando com estilos em elementos e componentes
  • Introdução e objetivos da aula
  • Aprenda sobre estilização de componentes e elementos CSS
  • Stateful vs Stateless
  • Introdução em Formulários no ReactJS
  1. Introdução ao Redux e fluxos da arquitetura com ReactJS
  • Introdução aos conceitos da aula
  • O que é Flux?
  • Conheça o Redux e como trabalhar com ele
  • Aprenda a prática de como desenvolver código com React e Redux
  1. Comunicação avançada entre aplicações
  • Introdução da aula
  • Rest HTTP com React
  • Imutabilidade e Redux
  • Redux + Rest
  1. Conceitos aplicados a qualidade de código e automação de testes em React
  • Introdução a testes em React
  • TDD e BDD com Jest
  • Debugging
  • Tratamento de erros

Práticas avançadas em projetos com ReactJS

  1. Aprofundando sobre o ciclone vida do React
  • Ciclo de Vida e suas fases
  • O que são Hooks e como ele pode otimizar o código
  • Context API
  1. Técnicas com components e DOM
  • Por que trabalhar com Fragments
  • Error Boundaries
  • Render Props
  • Typechecking com PropTypes
  • Refs e DOM
  1. Organizando o seu projeto
  • O que é um Dumb Components
  • Como trabalhar com Dumb Components
  • E Smart Components?
  • Finalizando o projeto

Introdução ao React Hooks

  1. Introdução
  • Apresentação do projeto
  • Criando seu projeto
  • Criando sua primeira página e seus respectivos testes
  • Conhecendo o React Styled Components e criando um componente
  • Evoluindo e testando nosso componente
  1. Ajustes estéticos
  • Explorando o React Styled Components um pouco mais
  • Abstraindo melhor nossos componentes
  • Mockando uma API REST em seus testes com msw
  • Evoluindo nosso projeto através do controle de estado
  1. Finalizando o projeto
  • Trabalhando com testes de qualidade
  • Conclusão do projeto
  • Dúvidas
  • GitHub

Criando aplicações móveis multiplataforma com React Native:

  1. Introdução ao React Native
  • Conceitos iniciais
  • Configuração do ambiente
  • Tela inicial da interface do VS Studio Code
  1. Características do React Native
  • Conceitos básicos
  • Configurações de ambiente MacOS
  • Executando projeto no emulador iOS - Parte 1
  • Executando projeto no emulador iOS - Parte 2
  • Configurações de ambiente Linux
  1. Desenvolvendo o primeiro aplicativo
  • Conceitos e sintaxe da linguagem
  • Gerando números randômicos - Parte 1
  • Gerando números randômicos - Parte 2
  • Gerando números randômicos - Parte 3
  • Gerando números randômicos - Parte 4
  1. Estilos e componentes
  • Introdução ao Flexbox
  • App Currículo - Parte 1
  • App Currículo - Parte 2
  • App Currículo - Parte 3
  • App Currículo - Parte 4
  1. Componentes e estados
  • O que são componentes e propriedades
  • Refatorando o App Currículo - Parte 1
  • Refatorando o App Currículo - Parte 2

Resolvendo Desafios em Javascript

Criando um front-end totalmente componentizado na prática com RactJS

Mentoria 04: Projeto Eduzz: Componentizando a aplicação e criando interfaces responsivas

MySql - Trabalhando com as sua primeiras tabelas

  1. Primeiros passos na criação de suas tabelas
  • Introdução ao curso e conceitos iniciais sobre modelo relacional
  • Ferramentas e configuração do ambiente
  • Criando tabelas
  • Inserindo dados na tabela
  • Dicas e dúvidas
  1. Realizando manutenção de suas tabelas
  • Selecionando e alterando dados
  • Deletando e ordenando dados
  • Agrupando dados

Introdução ao MongoDB e Banco de dados NoSQL

  1. Introdução ao NoQL
  • Apresentação do curso
  • Introdução
  1. Conhecendo os tipos de banco de dados NoSQL
  • Tipos de banco NoSQL
  • Coluna/Família de colunas
  • Chave-valor
  • Documento
  1. Introdução ao MongoDB e instalação
  • Introdução ao MongoDB
  • Instalação
  • MongoDB Cloud
  1. Schema Design e boas práticas
  • Schema Design
  • Boas práticas
  • JSON vs BSON
  1. Alguns conceitos na prática
  • Operações de manipulação de dados
  • Performance e índices
  • Agregações

Mentoria 05: Projeto Eduzz: Criando a base de dados para suportar a aplicação

Introdução ao Node.JS com JavaScript

  1. Fundamentos de JavaScript e Node
  • Apresentação inicial
  • Preparação básica para iniciar o desafio
  • Conceitos essenciais do Javascript
  • Conhecendo o Node.js
  • Como funciona o Node
  • O que é o NPM?
  • Criando o package.json e o server
  • Melhorando o retorno da criação de servidor
  1. Criando o app para gerenciar uso de memória RAM
  • Importando módulos essenciais e visualização do consumo de memória
  • Implementando a função nativa setInterval
  • Visualizando o consumo de memória no navegador

Explorando o Estilo Arquitetural REST com Node.JS

  1. Entendendo e preparando seu projeto
  • Apresentação inicial
  • Conteúdo previsto
  • Como funciona a API Rest do projeto
  • Requisitos para o desenvolvimento
  • Criando um projeto com node e Hello world!
  • Entendendo a estrutura do Typescript
  • Como desenvolver em Typescript
  1. Desenvolvendo o projeto
  • Criando um servidor com express
  • Automatizando o servidor para identificar alterações no código
  • Introdução ao desenvolvimento do CRUD de usuários
  • Implementando rota por id de usuário
  • Facilitando o uso de statusCode no seu código
  • Desenvolvendo e testando o método post
  • Desenvolvendo e testando o método put e delete
  • Refatorando a rota de status

NodeJS com bancos de dados relacionais SQL

  1. Como fazer sua conexão de banco de dados
  • Apresentação do projeto de base e proposta de conteúdo
  • Configuração inicial do node-postgres
  • Primeiros passos para a criação do banco de dados e tabelas
  • Criando a estrutura básica para conexão com banco de dados
  • Realizando uma consulta de usuários
  • Revisão da conexão com o banco de dados e criação de pool de conexões
  1. Criando as funções de manipulação da tabela de usuários
  • Desenvolvendo a consulta de usuários por id
  • Desenvolvendo a inserção de usuários
  • Desenvolvendo o update e o delete de usuários
  • Comentários sobre injeção de dependência
  • Realizando tratamento de erros
  • Desenvolvendo um Error Handling

Microsserviços e integração com NodeJS

  1. Passo a Passo para desenvolvimento de MS de autenticação com tokens
  • Apresentação do projeto base e proposta do conteúdo
  • Desenvolvendo a rota de autorização e validando token
  • Decodificando o token recebido e validando credenciais
  • Buscando o usuário e senha conforme solicitação do token
  • Instalação da biblioteca JWT para geração de tokens
  • Criando seu token com JWT
  • Desenvolvendo um middleware para reutilizar as funções de autenticação
  • Desenvolvendo a busca de usuários validada por token
  • Desenvolvendo a verificação de validação de tokens
  • O que é Refresh Token e a proposta de desafio final

Resolvendo desafios intermediários em JS

Construindo um encurtador de URL

Mentoria 06: Projeto Eduzz: Desenvolvendo o back-end da aplicação e plugando com o front-end

Mentoria 07: Projeto Eduzz: Entendendoe utilizando serviçoes de mensageria

Fundamentos de arquitetura de sistemas

  1. Vantagens e desenvolvimento de Web Services
  • O que são Web Services
  • Estrutura SOAP
  • Entendendo o que é WSDL e XSD
  • Aprenda o que são REST, API e JSON
  • Veja sobre integração com REST e métodos HTTP na prática
  1. Conceitos de arquitetura em aplicações para Internet
  • Introdução a arquitetura de sistemas
  • Comparando os modelos Monolito e Microsserviços
  • Gerenciamento de erros e volume de acesso
  1. A arquitetura de aplicações móveis e internet das coisas
  • Conceitos da Internet das Coisas
  • Arquitetura da internet das coisas e protocolo de comunicação
  • Flexibilidade dos tópicos e Cloud
  • Estudo de caso

Introdução a orquestração e contêineres com Docker

  1. Introdução ao tema
  • VM e Container
  • Arquitetura do Docker
  • Criando nosso primeiro container
  1. Primeiros passos com o Docker
  • Instalando o Docker no Linux
  • Instalando o Docker no Windows
  • Principais Comandos - Parte 1
  • Principais Comandos - Parte 2
  • Principais Comandos - Parte 3
  1. Rede do Docker
  • Tipos de rede e como funciona
  • Exemplos Práticos - Parte 1
  • Exemplos Práticos - Parte 2
  • Exemplos Práticos - Parte 3
  1. Armazenamento no Docker
  • Tipos de armazenamento
  • Exemplos práticos
  1. Nosso projeto no ar!
  • Limites
  • Implementando nosso projeto - Parte 1
  • Implementando nosso projeto - Parte 2

Introdução prática a computação em nuvem usando AWS

  1. Passo a passo no projeto prático AWS
  • Apresentação inicial e objetivos do curso
  • Conceitos iniciais sobre AWS e arquitetura do projeto prático
  • Apresentação inicial da plataforma AWS
  • Criando um pool de usuários com Amazon Cognito
  • Criando uma tabela com DynamoDB e criando funções Lambda
  • Editando o código-fonte em JavaScript
  • Criando uma API Gateway e rotas
  • Desenvolvendo as integrações
  • Dúvidas e comentários finais

Mentoria 08: Projeto Eduzz: Vislumbrando possibilidades de integração da aplicação com a nuvem

Projeto Eduzz: Retire todas as dúvidas encontradas no desenvolvimento do projeto

dio-bootcamp-fullstack-eduzz's People

Contributors

paulopradella avatar

Stargazers

Gabriel Fonseca avatar Lucas Sousa Rosa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.