Engenheiro Full-Stack - MERN
Esse é o meu plano de estudos para pessoas interessadas no Desenvolvimento Full-Stack e Full-Cycle, ênfase em MERN (Mongo, Express, React, Node).
A estrutura desse plano é reforçar o Front-End e o Back-End via JavaScript, ensinar banco de dados, ter conhecimentos básicos de UX/UI, extender os conceitos para o celular, com bomo compreender o marketing digital pelo SEO e a segurança via SRE.
Obs: Vale ressaltar que, para iniciar essa formação, será necessário ter conhecimentos mínimos de programação disponíveis nas formações de "Iniciante em Programação" tanto da Alura quanto do meu (de preferência do meu, que está mais completo e guiado).
1. Introdução
Inicialmente, você aprenderá o que é o full-stack, o full-cycle, diferenças entre MEAN, MERN e MEVN, bem como aprender HTTP, API, REST e Expressões Regulares (regex).
2. HTML e CSS
Vai aprender a construir páginas com o HTML/CSS e conhecer os tipos de estilo como flexbox, grid, Bootstrap, Tailwind e Saas.
3. JavaScript para Back-End
Vai estudar os fundamentos do JavaScript primeiramente pelo back-end como variáveis, lógica de programação, arrays, objetos, callback, introdução aos comandos de nodeJS e básico de orientação a objetos.
4. JavaScript para Front-End
Uma vez entendido os fundamentos do JavaScript, é hora de entender sua aplicação no dinamismo das páginas Web, incluindo manipulação do DOM, localStorage, APIs, arrays para front-end, requisições, validação de formulários, threads, tabelas dinâmicas, AJAX, orientação a objetos para front-end, browser, MVC, etc.
5. Acessibilidade Digital
Tornar páginas acessíveis é muito importante, tanto no design quanto na programação; por isso irá estudar designs inclusivos, aplicativos uteis e a programação do leitor de tela.
6. NodeJS e Express
Irá voltar para o back-end para estudar o Express, um framework do NodeJS para aplicações Web, além de estudar conceitos avançados do Node. Um conhecimento extra de Embedded JavaScript (EJS) também foi adicionado para complementar.
7. TypeScript
Voltando ao front-end, vai conhecer o TypeScript, uma versão melhorada do JavaScript.
8. ReactJS e NextJS
Nesse módulo vai conhecer (quase) tudo do React, o framework mais conhecido do JavaScript, além de reforçar sua aplicação com o NextJS.
9. PHP
É importante entender PHP, a linguagem que compõe 80% dos sites no mundo, bem como entender o seu framework Laravel e o WordPress pra modelar sites.
10. Banco de Dados
Novamente no back-end, vai estudar os conceitos de modelagem de dados, os modelos relacionais (SQL) e não-relacionais (NoSQL) e os dois principais gerenciadores de banco de dados (SGBD): MySQL e MongoDB.
Obs: você pode utilizar outro SGBD relacional como MS SQL Server ou PostgreSQL.
11. Usabilidade
Ter noções de design e usabilidade é considerado um diferencial para desenvolvedores full-stack; por isso, passará pelos módulos de UX/UI Design, UX Research e sistemas de design (design systems) .
12. React Native
Nada melhor do que expandir os conceitos de React para aplicativos de celular utilizando o React Native.
13. SEO
Tendo todo o conteúdo técnico adquirido, o próximo passo é tornar o seu site e/ou aplicativo acessível e popular nas redes através dos conhecimentos de Search Engine Optimization (SEO).
14. SRE
Para finalizar, será necessário adquirir a segurança do seu site/aplicativo pelo Site Reliability Engineering (SRE), tendo conhecimentos prévios básicos de comandos de Linux, rede de computadores e docker; vai estudar os conceitos de observabilidade, monitoramento, confiabilidade e rastreamento.
Dicas e Orientações para desenvolvedores Full-Stack/Full-Cycle:
- Controle de versão (Git e GitHub)
- Front-End (HTML, CSS, JS)
- Back-End (JS, Ruby, PHP)
- Banco de Dados (SQL, NoSQL)
- Usabilidade (UX/UI Design)
- Mobile (Android, iOS)
- Infraestrutura, Cloud e DevOps (Redes, HTTP, Linux)
- Bônus: conhecimento do negócio
Planos de estudo são sequências de cursos e outros conteúdos criados por alunos e alunas da Alura para organizar seus estudos. Siga planos que te interessem ou crie o seu próprio.
Passo a passo
-
1
Conteúdo do plano
-
Artigo Do zero para programador front-end
-
Artigo Front-end, Back-end e Full Stack
-
Artigo Full Stack: o que é, o que faz e um Guia desta Profissão | Alura
-
Artigo Como se tornar um desenvolvedor full-stack no próximo ano
-
Podcast Desenvolvedor Full-Stack, Mundo – Dev Sem Fronteiras #58
-
Artigo Dev Full Cycle: o que é?
-
Social MEAN Vs. MERN Vs. MEVN Stack: What's the difference?
-
Artigo O que é MERN Stack? Entenda mais sobre esse "cargo"
-
Artigo VisualStudio Code: instalação, teclas de atalho, plugins e integrações
-
Artigo Extensões VS Code: descubra quais são as mais usadas
-
Curso Expressões Regulares: faça buscas, validações e substituições de textos
-
Artigo HTTP: Desmistificando o protocolo da Web
-
Curso HTTP: entendendo a web por baixo dos panos
-
Artigo Métodos de requisição do HTTP
-
Artigo API: entenda o que é, para quê serve e qual a sua importância | Alura
-
Alura+ O que é uma API?
-
Alura+ O que é REST?
-
Artigo REST: Conceito e fundamentos
-
Alura+ Boas práticas na Modelagem de API's REST
-
Artigo HTML: o que é, como aprender e um Guia para iniciantes | Alura
-
Artigo CSS: o que é, como usar no HTML e um Guia para iniciar
-
Formação A partir do zero: HTML e CSS para projetos web
-
Artigo O que é o HTML e suas tags? Parte 1: estrutura básica
-
Artigo O que é o HTML e suas tags? Parte 2: elementos inline
-
Artigo O que é o HTML e suas tags? Parte 3: elementos block-level
-
Artigo O que é o HTML e suas tags? Parte 4: elementos de um formulário
-
Artigo O que é o HTML e suas tags? Parte 5: atributos dos elementos
-
Artigo Seu código CSS pode ser mais limpo, flexível e reaproveitável | Alura
-
Artigo Bootstrap: O que é, Documentação, como e quando usar
-
Artigo Tailwind: Qual framework usar? Bootstrap vs Tailwind
-
Formação Bootstrap 5: desenvolvimento de websites responsivos e atraentes
-
Formação CSS: aprofunde em estilos
-
Formação CSS: cursos para transformar designs com Grid, Flexbox e Sass
-
Artigo Flexbox CSS: Guia Completo, Elementos e Exemplos
-
Artigo CSS Grid: guia de propriedades de grid container e grid item | Alura
-
Artigo CSS, SASS e SCSS: escolhendo a ferramenta para estilizar sua aplicação web | Alura
-
Artigo SASS e Frameworks: estilize seu projeto front-end | Alura
-
Artigo Container queries: responsividade além das media queries | Alura
-
Alura+ Atomic design
-
Alura+ O que é JavaScript?
-
Artigo JavaScript: o que é, como aprender e Guia da linguagem | Alura
-
Artigo Node.JS: definição, características, vantagens e usos possíveis
-
Artigo O que é Node.JS? Como funciona e um Guia para iniciar | Alura
-
Formação Aprenda a programar em JavaScript com foco no back-end
-
Artigo Um guia para importação e exportação de módulos com JavaScript | Alura
-
Artigo Solid: descubra o que é como aplicar esses princípios da Programação Orientada a Objetos | Alura
-
Artigo Começando com fetch no Javascript | Alura
-
Artigo Node.JS: Funções Assíncronas
-
Alura+ API: Testes de contrato
-
Artigo O que é o DOM?
-
Artigo Hoisting no Javascript
-
Formação Desenvolvimento Front-end: cursos para criar aplicações web com HTML, CSS e JavaScript
-
Formação Desenvolva aplicações Web em JavaScript com tarefas concorrentes e orientadas a objetos
-
Curso JS na web: CRUD com JavaScript assíncrono
-
Artigo Guia para manipular eventos no DOM com JavaScript: técnicas e exemplos práticos | Alura
-
Site CSS Animations
-
Artigo Como criar animações incríveis com CSS | Alura
-
Artigo Houdini CSS: um jeito mágico de criar estilos personalizados | Alura
-
Alura+ CSS 3D: Animação com efeito rotateY
-
Alura+ CSS 3D: animação dinâmica com JavaScript
-
Podcast O Reino encantado do JavaScript – Hipsters #38
-
Curso JavaScript: de padrões a uma abordagem funcional
-
Alura+ O que é acessibilidade?
-
Artigo O que é acessibilidade na web?
-
Artigo O que são acessibilidade e tecnologias assistivas | Alura
-
Alura+ Acessibilidade para interfaces
-
Alura+ Acessibilidade nas cores
-
Formação Acessibilidade e tecnologias web: técnicas em HTML, CSS e JavaScript para projetos inclusivos
-
Curso IA generativa no Front-end: trabalhando com acessibilidade, semântica e HTML
-
Artigo Usabilidade e acessibilidade em produtos digitais e não digitais | Alura
-
Artigo Dicas para criar um conteúdo acessível para o seu produto | Alura
-
Artigo Medidas em CSS e seu impacto na acessibilidade na web | Alura
-
Alura+ Utilizando o Chrome Dev Tools para desenvolvimento Front-end
-
Formação APIs com Node.js e Express
-
Artigo Arquitetura do Node.js: entenda o loop de eventos | Alura
-
Artigo Debugando projetos NodeJS no VSCode
-
Formação Autenticação, testes e segurança em Node.js
-
Site EJS -- Embedded JavaScript templates
-
Artigo Utilizando template engine EJS com Node.js | Blog TreinaWeb
-
Formação Aprofunde em Node.js com arquitetura Serverless
-
Artigo Fastify: o framework NodeJS rápido e seguro | Alura
-
Formação Melhore sua experiência de desenvolvimento com TypeScript
-
Formação Aplique TypeScript no front-end
-
Artigo TSLint vs. ESLint: como configurar e utilizar em projetos TypeScript | Alura
-
Artigo TypeScript com JavaScript Vanilla | Alura
-
Artigo Context API e TypeScript: como utilizar o superpoder desta dupla | Alura
-
Alura+ Fronteiras do Front-end | EP 01: A guerra dos frameworks - Angular vs React vs Vue?
-
Artigo Node.js para Frameworks Front-end | Alura
-
Artigo Angular vs React vs Vue.js: qual Framework é melhor? | Alura
-
Artigo React: o que é, como funciona e um Guia da biblioteca JS | Alura
-
Formação Explore React com JavaScript
-
Formação Gerencie aplicações React com Typescript
-
Artigo Boas práticas ao escrever código em React js | Alura
-
Artigo Componentes React com TypeScript | Alura
-
Formação Impulsione sua aplicação React e consuma APIs
-
Formação Melhore sua aplicação React com testes automatizados
-
Formação Gerencie estados em React com Redux
-
Artigo Guia de bibliotecas para lidar com gerenciamento de estados em projetos React | Alura
-
Formação React: desenvolva aplicações web usando JSX e Hooks
-
Formação Criando uma aplicação acessível com JavaScript, Emotion e React Router
-
Artigo Conheça o Next.JS e descubra como desenvolver aplicações fullstack com super poderes | Alura
-
Artigo NextJS: Por que usar, Comunidade, SSR, SSG e mais | Alura
-
Formação Melhore sua aplicação React com o Next.js
-
Formação Performe sua aplicação React com Next.js Full stack
-
Artigo Configurando Next.js com TypeScript | Alura
-
Formação Next.js e Tailwind: construindo um design system
-
Artigo Next: Server Actions aprendendo na prática | Alura
-
Artigo Utilizando o Vite para criar uma aplicação React com TypeScript | Alura
-
Artigo Roteamento eficiente com Next.js: descobrindo o App Router | Alura
-
Artigo A evolução do desenvolvimento React: porque outras ferramentas estão ganhando espaço sobre o create-react-app | Alura
-
Artigo Entendendo Webpack, Vite e Babel: ferramentas essenciais no mundo do front-end | Alura
-
Formação Full stack JavaScript: crie um projeto com React e Node.js
-
Artigo Micro-frontends e suas arquiteturas: mais escalabilidade e independência | Alura
-
Artigo PHP - Uma Introdução à Linguagem | Alura
-
Artigo PHP: da instalação ao primeiro código | Alura
-
Formação Aprenda a programar em PHP com Orientação a Objetos
-
Formação PHP Web: crie aplicações web em PHP
-
Formação Laravel: crie aplicações web em PHP
-
Formação WordPress: crie sites do zero
-
Artigo Guia essencial do GraphQL para pessoas que desenvolvem frontend | Alura
-
Alura+ Criando seu hello world com GraphQL
-
Formação Modelagem de dados
-
Curso Modelagem de banco de dados: NoSQL
-
Artigo SQL: O que é, quais os comandos e como utilizar? | Alura
-
Artigo SQL e NoSQL: trabalhando com bancos relacionais e não relacionais | Alura
-
Formação Conhecendo SQL
-
Artigo Banco de Dados: o que é, tipos e um guia para iniciar | Alura
-
Artigo SGBDs e suas linguagens internas | Alura
-
Artigo Trabalhando com funções de agregação | Alura
-
Artigo O que é e como funciona um Data Warehouse | Alura
-
Artigo O papel do DBA: responsabilidades e habilidades essenciais no gerenciamento de bancos de dados | Alura
-
Formação Consultas com MySQL
-
Curso MySQL e JSON: persistindo JSON de maneira eficiente
-
Formação MongoDB
-
Alura+ O que é UX Design?
-
Artigo Entenda o que é a UX design
-
Artigo O que faz quem trabalha com UX Design
-
Formação UX Design
-
Artigo Como melhorar a UX com Microcopy
-
Artigo UX Design não é sobre interfaces bonitonas.
-
Artigo UX Design não é só sobre tecnologia
-
Artigo UX Design em T: o que o Marketing tem a ver com a UX?
-
Formação UX Writing
-
Formação UX Research: Análise e visualização de dados
-
Formação UX Research - Pesquisa para produtos digitais
-
Formação UX Strategy
-
Artigo UI Design: entenda o que é, o que faz e como entrar na área
-
Artigo O que faz quem trabalha com UI Design?
-
Formação UI Design: construindo um produto digital
-
Artigo Regra 60-30-10 em UI Design
-
Artigo Glossário do Design System | Alura
-
Formação Design System
-
Artigo Boas práticas de documentação de um Design System | Alura
-
Artigo O que é Content First e por que usá-lo no design digital | Alura
-
Artigo Guia completo sobre Arquitetura da Informação | Alura
-
Artigo O que é React Native? Vantagens e Guia do Framework | Alura
-
Artigo Como começar com React Native? | Alura
-
Artigo Configurando o ambiente React Native | Alura
-
Artigo React Native: componentes e unidades de medida | Alura
-
Artigo Como instalar e configurar o Expo do React Native | Alura
-
Alura+ React Native: Como instalar o Expo no Windows
-
Alura+ React Native: Como instalar o Expo no Linux
-
Formação Desenvolva aplicações Web e Mobile com React e React Native
-
Artigo SEO: o que é, boas práticas e ferramentas estratégicas | Alura
-
Formação SEO
-
Artigo Potencializando meus estudos e práticas de SEO | Alura
-
Artigo SEO: Ferramentas gratuitas para seu site rankear melhor | Alura
-
Artigo IA Generativa como ferramenta para estratégia de SEO Centrado no Usuário | Alura
-
Artigo Redes sociais – impactos e oportunidades | Alura
-
Curso Terminal: aprenda comandos para executar tarefas
-
Formação Começando em Linux
-
Formação Scripting: automatizando tarefas em DevOps
-
Formação Redes de computadores
-
Curso Redes onboarding: uma perspectiva prática
-
Artigo VPN: o que é, como funciona e como usar | Alura
-
Formação Começando em DevOps
-
Formação DevOps
-
Artigo DevSecOps: como usar a abordagem que prioriza a segurança | Alura
-
Artigo OpenStack: conhecendo uma solução de nuvem flexível e personalizável | Alura
-
Artigo Migração para Nuvem: o que é? Por que fazer? Como fazer? | Alura
-
Alura+ O que é Observabilidade?
-
Alura+ SRE - Engenharia de Confiabilidade de Sites
-
Artigo Criptografia: entendendo as diferenças entre simétrica, assimétrica e homomórfica | Alura
-
Artigo Entendendo Single Sign-On (SSO) e sua utilização com o micro front-ends | Alura
-
Curso SRE: entenda a confiabilidade dos sistemas
-
Formação SRE
-