- `☐` undone
- `▣` studying
- `▨` done
🧠 git
- ▨ · básicos
- ▨ · `git init`, `clone`, `status`, `log`
- ▨ · commits (`add`, `commit`, `amend`)
- ▨ · branches (`checkout`, `branch`, `merge`)
- ▨ · pull requests (em github/gitlab)
- ▨ · rebase vs merge
- ▨ · forks e contribuições open-source
- ▨ · `.gitignore`
- ☐ · stash e reflog
- ▣ · github actions (noções básicas de ci/cd)
🔤 html
- ▨ · estrutura básica (`<!doctype html>`, `<head>`, `<body>`)
- ▨ · tags semânticas (`<section>`, `<article>`, `<main>`, etc.)
- ▨ · formulários (`<form>`, `<input>`, validações)
- ▨ · listas (`<ul>`, `<ol>`, `<li>`)
- ▨ · tabelas (`<table>`, `<thead>`, `<tbody>`, `<tfoot>`)
- ▨ · imagens e mídia (`<img>`, `<video>`, `<audio>`)
- ▨ · seo on-page (`<title>`, `<meta>`, heading hierarchy)
- ▨ · links (`<a>`) e navegação
- ▨ · atributos globais (`id`, `class`, `style`, `data-*`)
- ▨ · acessibilidade básica (uso correto de elementos)
🎨 css
- ▨ · seletores e combinadores
- ▨ · box model e unidades (`px`, `%`, `em`, `rem`)
- ▣ · flexbox
- ▣ · grid layout
- ▣ · animações e transições (`@keyframes`, `transition`)
- ▨ · pseudo-classes e pseudo-elementos (`:hover`, `::after`)
- ▨ · variáveis css (`--main-color`)
- ▨ · media queries (responsividade)
- ▨ · customização de scrollbars, inputs, etc.
- ▣ · frameworks e metodologias (tailwind, bem, etc.)
🧠 javascript
- ▨ · tipos de dados (`string`, `number`, `object`, etc.)
- ▨ · dom e manipulação de elementos
- ▣ · funções (`arrow`, callbacks, closures)
- ▣ · arrays e objetos (`map`, `filter`, `reduce`)
- ▣ · eventos (`click`, `keydown`, listeners)
- ▣ · promises e `async/await`
- ▣ · fetch api e requisições http
- ▣ · localstorage e sessionstorage
- ▨ · módulos (`import` / `export`)
- ▨ · debugging (`console.log`, breakpoints, `try/catch`)
🟦 typescript
- ▨ · tipagem básica (`string`, `number`, `boolean`, etc.)
- ▣ · interfaces e tipos personalizados
- ▣ · funções com tipos nos parâmetros e retorno
- ☐ · type narrowing e type guards
- ☐ · union, intersection e type aliases
- ▣ · classes e modificadores (`public`, `private`, etc.)
- ☐ · generics
- ▣ · enums
- ☐ · mapeamento de tipos (`keyof`, `record`, etc.)
- ☐ · configuração do `tsconfig.json`
⚛️ react
- ▣ · jsx e componentes funcionais
- ▣ · props e composição
- ▣ · `usestate` e `useeffect`
- ▣ · eventos e formulários
- ☐ · lifting state up
- ▣ · context api e `usecontext`
- ▣ · react router (rotas spa)
- ▣ · refs e `useref`
- ▣ · custom hooks
- ▣ · renderização condicional e listas com `map`
📱 react native
- ▣ · instalação com expo ou cli
- ▣ · `view`, `text`, `scrollview`, `flatlist`
- ▣ · estilos com `stylesheet`
- ▣ · navegação com react navigation
- ▣ · componentes nativos (camera, location)
- ▣ · `usestate` / `useeffect` no mobile
- ▣ · inputs e teclado
- ▣ · `asyncstorage`
- ▣ · fetch api com apis externas
- ☐ · publicação no expo go / builds
🟩 node.js
- ▨ · conceitos básicos (ambiente de execução js no backend)
- ▣ · criação de servidores com http
- ▣ · manipulação de arquivos com fs
- ▣ · módulos nativos (path, os, events, etc.)
- ▣ · módulos personalizados e sistema commonjs / esm
- ▣ · npm e gerenciamento de pacotes (package.json)
- ▣ · uso de frameworks como express
- ▣ · middlewares e rotas
- ▣ · conexão com bancos de dados (mysql, mongodb, etc.)
- ▨ · variáveis de ambiente (dotenv) e boas práticas
🔁 apis rest (front-end)
- ▨ · métodos http (get, post, put, delete)
- ▣ · uso de fetch ou axios
- ▣ · headers e autenticação (ex: authorization: bearer)
- ▣ · body com json (application/json)
- ▣ · tratamento de erros (try/catch, status, message)
- ▣ · loading e estados de requisição
- ▣ · envio de dados de formulários
- ▣ · consumo de apis públicas (ex: github api, viacep)
- ▣ · integração com backend próprio (node ou firebase)
- ▣ · testes de chamadas com ferramentas como postman ou insomnia
🚀 apis rest (node + express)
- ▣ · configuração básica do express
- ▣ · rotas get, post, put, delete
- ▣ · uso de req.params, req.body, req.query
- ▣ · middleware para json (express.json())
- ▣ · criação de controllers separados
- ▣ · status codes (res.status(200).json(...))
- ▣ · conexão com banco de dados (ex: mysql, prisma, mongoose)
- ▣ · autenticação com jwt (jsonwebtoken)
- ☐ · uso de cors no servidor (cors package)
- ☐ · estrutura mvc (model-view-controller)
🧪 jest (testes unitários e de integração)
- ☐ · instalação e configuração inicial (jest.config.js)
- ☐ · describe, it, test, expect
- ☐ · mocks (jest.fn(), jest.mock())
- ☐ · testes de funções puras
- ☐ · testes com dados assíncronos (async/await)
- ☐ · cobertura de testes (jest --coverage)
- ☐ · testes de api com supertest
- ☐ · uso com react-testing-library no front-end
- ☐ · simulação de fetch com msw ou jest-fetch-mock
- ☐ · boas práticas: testes pequenos, independentes e nomeados