Repositório de Exercícios | Exercises Repository

Este repositório contém todas as atividades de aprendizagem desenvolvidas por Matheus Rubi Schreiner enquanto estudante 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.

[EN]
This repository is intended for exercises performed in Trybe's Web Development course.

The course consists of more than 1,500 hours divided into 39 blocks that cover comprehensive contents in fundamentals of web development, front-end development, back-end development and computer science. Below you can find their descriptions and check my current progress through them. 🚀


Introdução - Desenvolvimento Web

Bloco 1: Unix, Bash e Shell Script

[x] Setup
[x] Fundamentos do Desenvolvimento Web
[x] Introdução - Unix & Shell
[x] Unix & Bash - Parte 1
[x] Unix & Bash - Parte 2

Bloco 2: Git, GitHub e Internet

[x] Git & GitHub - O que é e para que serve
[x] Git & GitHub - Entendendo os comandos
[x] Internet - Entendendo como ela funciona

Bloco 3: Introdução à HTML e CSS

[x] Introdução - HTML & CSS
[x] HTML & CSS - Estruturas de página
[x] HTML & CSS - Primeiros passos em CSS
[x] HTML & CSS - Seletores e posicionamento
[x] HTML Semântico
[x] Projeto - Lessons Learned

Bloco 4: Introdução à JavaScript e Lógica de Programação

[x] Introdução - JavaScript
[x] JavaScript - Primeiros passos
[x] JavaScript - Array e loop For
[x] JavaScript - Lógica de Programação e Algoritmos
[x] JavaScript - Objetos e funções
[x] Projeto - Playground Functions

Bloco 5: JavaScript: DOM, Eventos e Web Storage

[x] JavaScript - DOM e seletores
[x] JavaScript - Trabalhando com elementos
[x] JavaScript - Eventos
[x] JavaScript - Web Storage
[x] Fundamentos - JavaScript - Projetos
[x] Projeto - Arte com Pixels
[x] Projeto - Lista de tarefas

Bloco 6: HTML e CSS: Forms, Flexbox e Responsivo

[x] HTML & CSS - Forms
[x] Bibliotecas JavaScript e Frameworks CSS
[x] Introdução - CSS Flexbox
[x] CSS Flexbox - Parte 1
[x] CSS Flexbox - Parte 2
[x] CSS Responsivo - Mobile First
[x] Projeto - Página inicial do Facebook

Bloco 7: Introdução à JavaScript ES6 e Testes Unitários

[x] JavaScript ES6 - let, const, arrow functions e template literals
[x] JavaScript ES6 - Objects
[x] Testes unitários em JavaScript
[x] Projeto - JavaScript Testes Unitários

Bloco 8: Higher Order Functions do JavaScript ES6

[x] JavaScript ES6 - Higher Order Functions - forEach, find, some, every, sort
[x] JavaScript ES6 - Higher Order Functions - map e filter
[x] JavaScript ES6 - Higher Order Functions - reduce
[x] JavaScript ES6 - spread operator, parâmetro rest, destructuring e mais
[x] Projeto - Zoo functions

Bloco 9: JavaScript Assíncrono e Promises

[x] JavaScript Assíncrono e Callbacks
[x] JavaScript Promises
[x] Projeto - Carrinho de Compras

Bloco 10: Testes automatizados com Jest

[x] Primeiros passos no Jest
[x] Jest - Testes Assíncronos
[x] Jest - Simulando comportamentos
[x] Projeto - Jest Assíncrono e Mocking


Desenvolvimento Front-end

Bloco 11: Introdução à React

[x] Introdução - Front-end
[x] Introdução - React
[x] 'Hello, world!' no React!
[x] Componentes React
[x] Projeto - Movie Cards Library

Bloco 12: Componentes com Estado, Eventos e Formulários com React

[x] Componentes com estado e eventos
[x] Formulários no React
[x] Projeto - Movie Cards Library Stateful

Bloco 13: Ciclo de Vida de Componentes e React Router

[x] Ciclo de vida de componentes
[x] React Router
[x] Projeto - Movie Cards Library CRUD

Bloco 14: Metodologias Ágeis

[x] Metodologias Ágeis
[x] Projeto - Frontend Online Store

Bloco 15: Testes automatizados com React Testing Library

[x] RTL - Primeiros passos
[x] RTL - Mocks e Inputs
[x] RTL - Testando React Router
[x] Projeto - Testes em React

Bloco 16: Gerenciamento de estado com Redux

[x] Introdução ao Redux - O estado global da aplicação
[x] Usando o Redux no React
[x] Usando o Redux no React - Prática
[x] Usando o Redux no React - Actions Assíncronas
[x] Testes em React-Redux
[x] Projeto - Trybe Wallet

Bloco 17: Projeto Jogo de Trivia

[x] Projeto - Jogo de Trivia

Bloco 18: Context API e React Hooks

[x] Context API do React
[x] React Hooks - useState e useContext
[x] React Hooks - useEffect e Hooks customizados
[x] Projeto - StarWars Datatable com Context API e Hooks

Bloco 19: Projeto App de Receitas

[x] Projeto - App de Receitas


Desenvolvimento Back-end

Bloco 20: Introdução à SQL

[x] Introdução - Back-end
[x] Introdução - Bancos de dados relacionais
[x] Banco de dados SQL
[x] Encontrando dados em um banco de dados
[x] Filtrando dados de forma específica
[x] Manipulando tabelas
[x] Projeto - All For One

Bloco 21: Funções SQL, Joins e Subqueries

[x] Funções mais usadas no SQL
[x] Descomplicando JOINs e UNIONs
[x] Stored Routines & Subqueries
[x] Projeto - Vocabulary Booster

Bloco 22: Normalização e Modelagem de Banco de Dados

[x] Transformando ideias em um modelo de banco de dados
[x] Normalização, Formas Normais e Dumps
[x] Transformando ideias em um modelo de banco de dados - Parte 2
[x] Projeto - One For All

Bloco 23: Introdução ao MongoDB

[x] Introdução - NoSQL
[x] MongoDB - Introdução
[x] Filter Operators
[x] Projeto - Data Flights

Bloco 24: MongoDB: Updates Simples e Complexos

[x] Updates Simples
[x] Updates Complexos - Arrays - Parte 1
[x] Updates Complexos - Arrays - Parte 2
[x] Projeto - Commerce

Bloco 25: MongoDB: Aggregation Framework

[x] Aggregation Framework - Parte 1
[x] Aggregation Framework - Parte 2
[x] Projeto - Aggregations

Bloco 26: Introdução ao desenvolvimento Web com NodeJS

[x] Intro - NodeJS
[x] NodeJS - Introdução
[x] NodeJS - Fluxo Assíncrono
[x] NodeJS - Arquitetura
[x] Express: HTTP com Node.js
[x] Práticando Express
[x] Arquitetura de Software - Introdução ao MVC
[x] Projeto - Talker Manager

Bloco 27: NodeJS: Camada de Serviço e Arquitetura Rest e Restful

[x] Arquitetura de Software - Camada de Serviço
[x] Arquitetura web - Rest e Restful
[x] Projeto - Store Manager

Bloco 28: Autenticação e Upload de Arquivos

[x] NodeJS - JWT - (JSON Web Token)
[x] NodeJS - Upload de arquivos com Multer
[x] Projeto - Cookmaster

Bloco 29: Deployment

[x] Introdução - Deploy
[x] Infraestrutura - Deploy com Heroku
[x] Deploy - Gerenciadores de Processos
[x] Projeto - Stranger Things FrontEnd
[x] Projeto - Stranger Things BackEnd

Bloco 30: Arquitetura: SOLID e ORM

[x] Arquitetura - Princípios SOLID
[x] ORM - Interface da aplicação com o banco de dados
[x] ORM - Associations
[x] Boas práticas na escrita de testes
[x] Projeto - API de Blogs

Bloco 31: Sockets

[x] Arquitetura de Software - Camada de View
[x] Sockets - TCP/UDP & NET
[x] Sockets - Socket io
[x] Projeto - Webchat

Bloco 32: Projeto - App de Delivery

[x] Projeto - App de Delivery


Ciência da Computação

Bloco 33: Introdução à Python

[x] Introdução - Ciência da Computação
[x] Aprendendo Python
[x] Entrada e Saída de dados
[x] Testes
[x] Projeto - Job Insights

Bloco 34: Programação Orientada a Objetos e Padrões de Projeto

[x] Introdução à programação orientada a objetos
[x] Herança. Composição e Interface
[x] Padrões de projeto
[x] Projeto - Relatórios de Estoque

Bloco 35: Redes e Raspagem de Dados

[x] Arquitetura de redes
[x] Redes de computadores, ferramentas e segurança
[x] Raspagem de Dados
[x] Projeto - Tech news

Bloco 36: Algoritmos

[x] Complexidade de Algoritmos
[x] Recursividade e Estratégias para solução de problemas
[x] Algoritmos de ordenação e busca
[x] Projeto - Algoritmos

Bloco 37: Estrutura de Dados I: Arrays, Hashmaps e Sets

[x] Arquitetura de Computadores
[x] Arrays
[x] Hashmap e Dict
[x] Set
[x] Projeto - Restaurant Orders

Bloco 38: Estrutura de Dados II: Listas, Filas e Pilhas

[x] Nó e Listas Encadeadas
[x] Pilhas e Filas
[x] Projeto - TING - Trybe Is Not Google