Trybe

Este repositório contém todas as atividades de aprendizagem desenvolvidas por Caio Oliveira enquanto estudava na Trybe 🚀

"A Trybe é uma escola do futuro para qualquer pessoa que queira melhorar de vida e construir uma carreira de sucesso em tecnologia, onde a pessoa só paga quando conseguir um bom trabalho."

O programa conta com mais de 1.500 horas de aulas presenciais e online e aborda introdução ao desenvolvimento de software, front-end, back-end, ciência da computação, engenharia de software, metodologias ágeis e habilidades comportamentais.

Introdução - Desenvolvimento Web ⏳

Bloco 01: Introdução - Unix & Shell ✅
  • 1-3: Fundamentos do Desenvolvimento Web
  • 1-3: Introdução - Unix & Shell
  • 1-3: Unix & Bash - Parte 1
  • 1-3: Unix & Bash - Parte 2
Bloco 02: Git & GitHub ✅
  • 2-1: O que é e para que serve?
  • 2-2: Entendendo os comandos
  • 2-3: Internet - Entendendo como ela funciona
Bloco 03: Introdução - HTML & CSS
  • 3-1: HTML & CSS - Introdução - Estruturas de página
  • 3-2: HTML & CSS - Primeiros passos em CSS
  • 3-3: HTML & CSS - Seletores e posicionamento
  • 3-4: HTML Semântico
  • 3-5: Projeto - HTML & CSS - Lessons Learned
Bloco 04: Introdução - JavaScript
Bloco 05: JavaScript: DOM, Eventos e Web Storage - Projetos
Bloco 06: HTML e CSS: Forms, Flexbox e Responsivo
  • 6-1: HTML & CSS - Forms
  • 6-2: Bibliotecas JavaScript e Frameworks CSS
  • 6-3: Introdução - CSS Flexbox
  • 6-3: CSS Flexbox - Part 1
  • 6-4: CSS Flexbox - Part 2
  • 6-5: CSS Responsivo - Mobile First
  • 6-6: Projeto - Trybewarts
Bloco 07: Introdução à JavaScript ES6 e Testes Unitários
Bloco 08: Higher Order Functions do JavaScript ES6
  • 8-1: JavaScript ES6 - Introdução a Higher Order Functions
  • 8-2: JavaScript ES6 - Higher Order Functions - forEach, find, some, every, sort
  • 8-3: JavaScript ES6 - Higher Order Functions - map e filter
  • 8-4: JavaScript ES6 - Higher Order Functions - reduce
  • 8-5: JavaScript ES6 - spread operator, rest parameter, destructuring e mais
  • 8-6: Projeto - Zoo functions
Bloco 09: JavaScript e Testes Assíncronos
  • 9-1: JavaScript Assíncrono e Callbacks
  • 9-2: JavaScript Assíncrono - Fetch API e async/await
  • 9-3: Jest - Testes Assíncronos
  • 9-4: Projeto - Carrinho de Compras

Desenvolvimento Front-end ⏳

Bloco 10: Introdução à React
  • 10-1: Introdução - Front-end
  • 10-1: Introdução - React
  • 10-2: 'Hello, world!' no React!
  • 10-2: Componentes React
  • 10-3: Projeto - Sistema Solar
Bloco 11: Componentes com Estado, Eventos e Formulários com React
  • 11-1: Componentes com estado e eventos
  • 11-2: Formulários no React
  • 11-3: Projeto - Tryunfo
Bloco 12: Ciclo de Vida de Componentes e React Router
Bloco 13: Metodologias Ágeis
Bloco 14: Testes automatizados com React Testing Library
Bloco 15: Gerenciamento de estado com Redux
  • 15-1: Introdução ao Redux - O estado global da aplicação
  • 15-2: Usando o Redux no React
  • 15-3: Usando o Redux no React - Prática
  • 15-4: Usando o Redux no React - Actions Assíncronas
  • 15-5: Testes em React-Redux
  • 15-3: Projeto - Trybe Wallet
Bloco 16: Projeto Jogo de Trivia
Bloco 17: Context API e React Hooks
Bloco 18: Projeto App de Receitas

Desenvolvimento Back-end ⏳

Bloco 19: Docker: Utilizando Containers
  • 20-1: Introdução - Back-end
  • 20-1: Utilizando Containers - Docker
  • 20-2: Manipulação e Criação de Imagens no Docker
  • 20-3: Orquestrando Containers com Docker Compose
  • 20-4: Projeto - Docker Todo-List
Bloco 20: Introdução à SQL
  • 20-1: Introdução - Bancos de dados relacionais
  • 20-2: Banco de dados SQL
  • 20-2: _Encontrando dados em um banco de dados
  • 20-3: Filtrando dados de forma específica
  • 20-4: Manipulando tabelas
  • 20-5: Projeto - All For One
Bloco 21: Funções SQL, JOINs e Normalização
  • 21-1: Funções mais usadas no SQL
  • 21-2: Descomplicando JOINs
  • 21-3: Transformando ideias em um modelo de banco de dados
  • 21-4: Projeto - One For All
Bloco 22: Introdução ao desenvolvimento Web com NodeJS
  • 22-1: Intro - Node.js
  • 22-1: Node.js - Um motor JavaScript
  • 22-2: Node.js - Fluxo Assíncrono
  • 22-3: Mocha, Chai e Sinon - Testes de Back-end com Node.js
  • 22-4: Express - HTTP com Node.js
  • 22-5: Express - Middlewares
  • 22-6: Projeto - Talker Manager
Bloco 23: NodeJS: Camada de Serviço e Arquitetura Rest e Restful
  • 23-1: Introdução - Arquitetura de Software
  • 23-1: Arquitetura de Software - Camada de Model
  • 23-2: Arquitetura de Software - Camada de Controller e Service
  • 23-3: Arquitetura Web - Rest e Restful
  • 23-4: Arquitetura de Software - Testando as Camadas
  • 23-5: Projeto - Store Manager
Bloco 24: NodeJS: ORM e Autenticação
  • 23-1: Introdução - Node.js: ORM e Autenticação
  • 23-1: ORM - Interface da aplicação com o banco de dados
  • 23-2: ORM - Associations
  • 23-3: JWT - (JSON Web Token)
  • 23-4: Testando APIs com Testes de Integração
  • 23-5: Projeto - API de Blogs
Bloco 25: Deployment
  • 25-1: Introdução - Deploy
  • 25-1: Infraestrutura - Deploy com Heroku
  • 25-2: Deploy Docker & Heroku
  • 25-3: Projeto - Stranger Things
Bloco 26: TypeScript
  • 26-1: Introdução - TypeScript
  • 26-1: Introdução ao TypeScript
  • 26-2: Tipagem Estática e Generics
  • 26-3: Express com TypeScript
  • 26-4: Projeto - Trybe Smith
Bloco 27: Programação Orientada a Objetos (POO) e SOLID
  • 27-1: Introdução à Orientação a Objetos
  • 27-2: Herança e Interfaces
  • 27-3: Polimorfismo
  • 27-4: SOLID - Introdução
  • 27-5: SOLID - Continuação
  • 27-3: Projeto - Trybers and Dragons
Bloco 28: Projeto - TFC - Trybe Futebol Clube
Bloco 29: Introdução ao MongoDB
Bloco 30: MongoDB: Updates Simples e Complexos
  • 29-1: Updates Simples
  • 29-2: Updates Complexos - Arrays - Parte 1
  • 29-3: Updates Complexos - Arrays - Parte 2
  • 29-4: Projeto - Commerce
Bloco 31: MasterClass - VPS, CI/CD
  • 31-1: Dia 1
  • 31-2: Dia 2
Bloco 32: Projeto - App de Delivery

Ciência da Computação ⏳

Bloco 33: Introdução à Python
  • 30-1: Introdução - Ciência da Computação
  • 30-1: Aprendendo Python
  • 30-2: Entrada e Saída de Dados
  • 30-3: Testes
  • 30-4: Projeto - Job Insights
Bloco 34: Programação Orientada a Objetos e Padrões de Projeto
  • 35-1: Introdução à programação orientada a objetos
  • 35-2: Herança, Composição e Interfaces
  • 35-3: Padrões de projeto
  • 35-4: Projeto - Relatórios de Estoque
Bloco 35: Redes e Raspagem de Dados
  • 35-1: Arquitetura de redes
  • 35-2: Redes de computadores, ferramentas e segurança
  • 35-3: Raspagem de Dados
  • 35-4: Projeto - Tech news
Bloco 36: Algoritmos
  • 36-1: Complexidade de Algoritmos
  • 36-2: Recursividade e Estratégias para solução de problemas
  • 36-3: Algoritmos de ordenação e busca
  • 36-4: Projeto - Algoritmos
Bloco 37: Estrutura de Dados I: Arrays, Hashmaps e Sets
Bloco 38: Estrutura de Dados II: Listas, Filas e Pilhas

[...]