Este é um histórico de todos os projetos realizados ao longo do curso da Trybe, além de uma breve descrição do que foi estudado em cada um dos blocos.
O curso da Trybe foi criado para quem deseja seguir uma carreira em tecnologia e conta com mais de 1.500 horas de conteúdos síncronos (aulas e dinâmicas ao vivo) e assíncronos (vídeos gravados e textos disponíveis na plataforma). Ele aborda introdução ao desenvolvimento de software, front-end, back-end, ciência da computação, engenharia de software, metodologias ágeis e habilidades comportamentais. Ao longo da formação são estudadas várias tecnologias, como JavaScript, HTML, CSS, React, Redux, Node, Express.js, SQL, Git, entre outras linguagens e frameworks.
- Início: 06/04/2021
- Conclusão: 06/04/2022
O conteúdo de Hard skills é dividido em quatro módulos: Fundamentos do Desenvolvimento Web, Desenvolvimento Front-end, Desenvolvimento Back-end e Ciência da Computação.
Introdução ao sistema operacional Unix e comandos básicos Bash utilizando o terminal. Entre os comandos aprendidos temos: ls
, less
, cp
, mv
, head
, tail
, rm
, pwd
, grep
, etc.
Introdução ao Git e GitHub, sistemas de controle de versionamento de código local e remoto, respectivamente. Nesse bloco aprendemos a criar nosso primeiro repositório Git e também a subí-lo ao GitHub. Além disso, conhecemos um pouco sobre o modelo cliente - servidor e requisições HTTP.
Estudamos as principais tags HTML, como usar CSS para estilização e a importância de HTML semântico para acessibilidade de uma página.
Projeto individual: Lessons Learned - Tecnologias:
Primeiro contato com JavaScript, aprendemos sobre variáveis, constantes, tipos primitivos, tipagem dinâmica, operadores aritméticos, operadores de atribuição, operadores lógicos, estruturas condicionais, lógica de programação, estruturas de repetição e mais.
Projeto individual: Playground Functions - Tecnologias:
Introdução ao DOM (Document Object Model) e como manipular sua estrutura utilizando seletores e código JavaScript. Aprendemos ainda a criar eventos que permitem a interação do usuário com a página e a usar o Web Storage para salvar dados das pessoas nos browsers.
Projeto individual: Pixels Art - Tecnologias:
Projeto individual: Todo List - Tecnologias:
Construção de formulários HTML, uso de bibliotecas JavaScript e CSS, introdução ao modelo Flexbox de estilização e criação páginas responsivas e abordagem mobile-first.
Projeto em dupla: Trybewarts - Tecnologias:
Estudamos sobre as features introduzidas na versão ES6 do JavaScript, como let
, const
, arrow functions
, template literals
, operador ternário
. Além disso, aprendemos métodos de manipulação de objetos e construção dos primeiros testes automatizados usando o módulo Assert.
Projeto individual: Js Unit Tests - Tecnologias:
Conceitos de first-class function e higher order function, métodos de manipulação de arrays, tais como forEach
, map
, filter
, reduce
, every
, sort
, find
, entre outras.
Projeto individual: Zoo Functions - Tecnologias:
Praticamos a construção de código assíncrono, usando callbacks e promises. Além disso, aprendemos sobre testes automatizados com a biblioteca Jest, usando Jest assíncrono e Mocks aplicados a testes em Javascript.
Projeto individual: Shopping Cart - Tecnologias:
Projeto individual: Jest - Tecnologias:
Introdução à biblioteca React, uma das mais usadas para criação de interfaces web. Aqui somos apresentados aos conceitos de componentes, props e prop-types.
Projeto individual: Movie Cards Library - Tecnologias:
Utilização de estado de componentes, captura de eventos usando a sintaxe do React e construção de formulários usando JSX.
Projeto individual: Movie Cards Library Stateful - Tecnologias:
Conceitos de ciclo de vida de componentes e roteamento de páginas usando a biblioteca React Router.
Projeto individual: Movie Cards Library CRUD - Tecnologias:
Introdução aos métodos ágeis, que incentivam, entre outras coisas, o desenvolvimento de projetos por meio de comunicação frequente, entregas incrementais, foco no cliente e trabalho em equipe.
Projeto em grupo: Frontend Online Store - Tecnologias:
Construção de testes automatizados com RTL (React Testing Library), a biblioteca de testes recomendada pela documentação oficial do React.
Projeto individual: React Testing Library - Tecnologias:
Introdução ao Redux, uma biblioteca de gerenciamento do estado global de ampla adoção entre as pessoas que desenvolvem em React.
Projeto individual: Trybewallet - Tecnologias:
Prática de metodologias ágeis, soft skills e React-Redux.
Projeto em grupo: Trivia - Tecnologias:
Introdução a funcionalidades mais avançadas em React, como: Context API, para gerenciamento do estado global da aplicação; e React Hooks, que permite a utilização de componentes funcionais com estado e outras funcionalidades.
Projeto individual: Star Wars Planets Search - Tecnologias:
Prática de metodologias ágeis, soft skills, React Hooks, Context API e testes unitários.
Projeto em grupo: Recipes App - Tecnologias:
Introdução aos bancos de dados relacionais, utilizando MySQL e MySQL Workbench de forma prática. Uso de comandos básicos, como SELECT
, WHERE
, ORDER BY
, INSERT
, UPDATE
, DELETE
.
Projeto individual: All For One - Tecnologias:
Aprendemos sobre a utilização de funções para manipulação de dados SQL, como funções para manipulação de strings, estruturas condicionais e funções matemáticas. Além disso, vimos como unir informações presentes em mais de uma tabela por meios dos vários JOINs e a criar nossas próprias funções.
Projeto individual: Vocabulary Booster - Tecnologias:
Praticamos a construção de um banco de dados a partir de ideias ou problemas a serem resolvidos. Passamos pela identificação de entidades, relacionamentos, construção de diagramas ER (entidade-relacionamento) e uso de tabelas normalizadas.
Projeto individual: One For All - Tecnologias:
Conceitos sobre bancos de dados NoSQL, incluindo os diferentes tipos de classes de bancos existentes.
Introdução ao MongoDB, um banco NoSQL da classe Documentos
, incluindo instalação, conexão e execução de comandos básicos de leitura/escrita.
Alguns dos métodos vistos foram find()
, insertOne()
, insertMany()
, deleteOne()
, deleteMany()
e operadores de comparação e lógicos (usados em conjunto do find()
).
Projeto individual: Dataflights - Tecnologias:
Utilização dos métodos updateOne()
e updateMany()
junto de operadores (por exemplo, $set
, $mul
e $inc
) para updates simples em documentos MongoDB. Além disso, prática de updates complexos, alterando informações presentes em arrays.
Projeto individual: Commerce - Tecnologias:
Introdução ao Aggregation Framework, conjunto de ferramentas modelado sob o conceito de processamento de dados por meio de pipelines. Ele permite operações de agregação que podem agrupar dados de múltiplos documentos ou coleções, executar operações nesses dados e, finalmente, retornar um único resultado.
Projeto individual: Aggregations - Tecnologias:
Introdução aoNodeJS
e NPM, leitura e escrita de arquivos com o módulo fs
de forma síncrona e assíncrona e construção de testes para NodeJS usando Mocha, Chai e Sinon. Além disso, damos os primeiros passos com um dos frameworks mais utilizados para construção de APIs em NodeJS, o Express
.
Projeto individual: Talker Manager - Tecnologias:
Organização de uma aplicação Node e Express em camadas de responsabilidades, usando a arquitetura MSC (Model, Service e Controller) e dentro do padrão REST. Fizemos a construção de APIs RESTful, usando conexão com banco de dados MongoDB ou MySQL, validação de requisições, estruturação de regras de negócio, tratamento de possíveis erros e mais.
Projeto individual: Store Manager - Tecnologias:
Construção de APIs Restful contendo middlewares de autenticação JWT
e de upload de arquivos com multer
. Criação de testes de integração com Mocha
, Chai
e Sinon
.
Projeto individual: Cookmaster - Tecnologias:
Configuração do deploy de uma aplicação Node e React pelo Heroku
e gerenciamento processos usando PM2
.
Projeto individual: Stranger Things - Tecnologias:
Noções sobre os cinco princípios SOLID, série de normas e padrões para construir um código mais organizado, otimizando manutenção, legibilidade e testabilidade. Ainda, introdução ao ORM (Object Relational Mapping) Sequelize. Os ORMs permitem criar e alterar tabelas, fazer consultas, inserir e extrair dados do seu banco de dados através de código JavaScript. O Sequelize é um ORM do tipo Active Record que permite a utilização de diferentes tipos de bancos de dados, incluindo MySQL, PostgreSQL, MariaDB e SQLServer.
Projeto individual: Blogs API - Tecnologias:
Apresentação do padrão arquitetural MVC (Model, View e Controller) utilizando EJS (Embedded JavaScript) como template engine e ao pacote Socket.io - uma ferramenta usada para criar aplicações em tempo-real, como aplicativos de mensagens instantâneas, streaming e colaboração em documentos.
Projeto individual: Webchat - Tecnologias:
Prática de metodologias ágeis, soft skills, React, Redux, Node, Express, MySQL, Sequelize e comunicação entre o back-end e front-end de uma aplicação.
Projeto em grupo: Delivery App - Tecnologias:
Introdução à linguagem de programação Python, desde a sua instalação, configuração do ambiente de desenvolvimento, sintaxe, diferentes tipos de variáveis, métodos e principais funções.
Projeto individual: Job Insights - Tecnologias:
Revisão sobre princípios SOLID e primeiro contato com a abordagem POO (Programação Orientada a Objetos) e seus quatro pilares: abstração, encapsulamento, herança e polimorfismo. Introdução a conceitos, como classe
, instância
, métodos abstratos
, métodos de classe
, métodos estáticos
, interface
e mais.
Projeto em dupla: Inventory Reports - Tecnologias:
Estudamos superficialmente alguns tópicos de arquitetura de redes e aprendemos técnicas para realizar a raspagem de dados com Python, utilizando as bibliotecas requests
e parsel
.
Projeto individual: Tech News - Tecnologias:
Introdução ao estudo de complexidade de tempo e espaço em algorítmos, incluindo noções básicas para identificar as complexidades constante, linear, quadrática, logaritmica, exponencial e fatorial. Aprendemos também sobre recursividade e algoritmos de ordenação.
Projeto individual: Algorithms - Tecnologias:
Começamos estudando as bases que permitem o funcionamento dos vários componentes que formam o computador. Depois, partimos para o estudo de várias estruturas de dados, incluindo arrays, hashmaps e sets.
Projeto individual: Restaurant Orders - Tecnologias:
Finalizamos o estudo de estrutura de dados, trabalhando com nós, linked lists, double-linked lists, filas e pilhas.
Projeto individual: Trybe Is Not Google - Tecnologias: