Roadmap (30h/semana) — React + Next.js (Frontend-heavy Full Stack)
Fase 0 (Semanas 1 – 2 ) — Fundamentos de Programação + Ambiente (Linux/IDE)
Fase 1 (Semanas 3 – 6) — Base Web(redes) + Git + Layout
Fase 2 (Semanas 7 – 9) — JavaScript Forte + Tooling (Vite + lint)
Fase 3 (Semanas 10 - 12) — React Core (sem gambiarra) + Astro.build (final da fase)
Fase 4 (Semanas 13 – 15) — TypeScript + DDD-lite (camadas)
Fase 5 (Semanas 16 – 21) — Next.js App Router Full Stack (empregável)
# Lógica de programação e algoritmos
### Fundamentos
- Sintaxe da linguagem
- Variáveis e tipos (string, number, boolean, null/undefined)
- Condicionais (if/else, switch)
- Loops (for/while, for..of)
- Funções (parâmetros, retorno, pure vs side effects)
- Arrays/Listas
- Objetos/Dicionários (chave/valor, contagem, agrupamento)
- Strings (split/join, replace, validações)
### POO
- Quando usar classes (modelos/entidades, estado + comportamento)
- Quando NÃO usar (pra não complicar: função + objeto resolve)
### BIG 0
- (no futuro add: Big-O notation,Algoritmos de ordenação,Algoritmos de Busca e Estruturas de dados em árvore)
# Linux (Comandos básicos)
## Navegação e arquivos
### Navegar no terminal
- pwd (onde estou)
- ls (listar)
- cd (entrar/sair de pastas)
### Criar e organizar
- mkdir (criar pasta)
- touch (criar arquivo)
- cp (copiar)
- mv (mover/renomear)
- rm (remover)
- caminho relativo vs absoluto
- . e .. (pasta atual e anterior)
## Leitura e pesquisa
### Ver conteúdo
- cat (ver rápido)
- less (ver com scroll)
- head / tail (início/fim de arquivo)
- tail -f (acompanhar logs)
### Buscar texto
- grep (buscar palavra/padrão)
- grep -r (buscar em pasta)
- grep -i (ignorar maiúsculas)
## Permissões
### Entender erro de permissão
- leitura/escrita/exec (r/w/x)
- chmod (dar permissão quando necessário)
- sudo (noção: usar com cuidado)
### Dono do arquivo (noção)
- chown (saber que existe e quando usar)
## Processos (só o suficiente)
### Ver e encerrar
- ps (listar processos)
- top (monitorar)
- kill (encerrar processo travado)
## Rede (pra testar APIs e downloads)
### HTTP básico no terminal
- curl (GET rápido pra endpoint)
- curl -I (headers/status)
- curl -o (baixar arquivo)
## Compactação (pra mexer com projetos)
### Compactar e extrair
- tar (extrair/compactar .tar.gz)
- zip / unzip (extrair/compactar .zip)
# IDE + Terminal + Node/npm + Git
## VS Code
### Setup essencial
- Auto Save (opcional)
- Format on Save
- Default Formatter (Prettier)
### Extensões essenciais
- Prettier
- ESLint
- EditorConfig (opcional)
- GitLens (opcional)
### Atalhos que mais importam
- abrir command palette
- buscar arquivo rápido
- mover/duplicar linha
- multi-cursor (noção)
- comentar/descomentar
## Terminal (noção prática)
### Shell e comandos do dia a dia
- bash/zsh (entender que é o “interpretador”)
- terminal integrado do VS Code
### PATH e variáveis de ambiente (noção)
- o que é PATH (achar comandos)
- definir variáveis no projeto (.env)
- ler variáveis no Node (process.env)
## Node.js + npm
### Verificar e iniciar projeto
- node -v
- npm -v
- npm init
### Instalar e usar dependências
- npm install
- npm install -D
- node_modules e package-lock (noção)
### Scripts (o que você mais vai usar)
- npm run dev
- npm run build
- npm run test (quando existir)
- npm run lint / format (quando existir)
## Git (mínimo pra produzir)
### Ciclo básico
- git init
- git status
- git add
- git commit
### Histórico
- git log (ver commits)
### (Recomendado pro dia a dia)
- git restore (desfazer alterações)
- git reset (noção)
- .gitignore (ignorar node_modules, dist)