AULA 03 · MÓDULO 03

Criando o projeto ToDoList

Conheça React Native e Expo e, com apoio da IA no Cursor, crie o projeto didático ToDoList na pasta que você preparou na Aula 01 — execute, versione e publique no GitHub.

Manual técnico · Cursor (referência) · 90–120 min · prática com IA

Resultado desta aula (tópicos 1 e 2)

Você entenderá o papel do React Native e do Expo, orientará a IA para gerar o projeto ToDoList dentro de ProjetosMobile, executará o app pela primeira vez, criará o repositório no GitHub e registrará a versão inicial com Git. Use as Rules da Aula 02 e o Context7 durante todo o processo.

1. Conhecendo React Native e Expo

1.1 O que é React Native?

React Native é uma tecnologia que permite criar aplicativos para celular usando JavaScript ou TypeScript. Em vez de desenhar telas “de mentira”, o framework usa componentes nativos — os mesmos tipos de elementos que o Android e o iPhone entendem nativamente.

No ToDoList, isso se traduz em coisas concretas: uma tela de boas-vindas, botões para adicionar tarefas, uma lista para exibi-las e gestos ou toques para marcar como concluídas. Você não precisa decorar a API agora; basta saber que React Native é a base que renderiza o app no dispositivo.

Documentação oficial: React Native — Getting Started.

1.2 O que é Expo?

Expo é um framework e um conjunto de ferramentas que facilita criar, executar e evoluir apps React Native. Ele oferece, entre outros benefícios:

  • Comando único para iniciar o projeto e o servidor de desenvolvimento.
  • Template oficial para começar rápido, sem montar toda a configuração manualmente.
  • Acesso organizado a recursos comuns (ícones, splash, builds) conforme você avança no curso.
  • Compatibilidade com teste no celular via Expo Go, quando o tipo de projeto permitir.

Documentação oficial: docs.expo.dev.

1.3 Como trabalham juntos?

React Native fornece a base para interfaces móveis; Expo organiza o fluxo de trabalho e acelera o dia a dia. Juntos, eles levam ao app didático do curso:

React Native + Expo → ToDoList

React Native — componentes e telas do app
Expo — ferramentas, template e execução
ToDoList — aplicativo didático do curso

1.4 Por que escolhemos essas tecnologias?

Existem outras formas de criar apps — por exemplo Kotlin ou Swift para um sistema cada, ou Flutter com outra linguagem. Para iniciantes que querem um app multiplataforma (Android e iOS a partir de uma base comum) com curva de entrada mais suave, React Native com Expo é uma combinação prática: você acompanha o código com a IA, executa cedo no dispositivo e evolui o mesmo projeto ao longo das aulas.

Não faremos aqui uma comparação técnica entre frameworks — o foco é aprender fazendo o ToDoList com o stack escolhido do curso.

1.5 Como a IA participa?

A IA no Cursor não substitui você: ela sugere comandos, explica a estrutura e propõe arquivos. Você abre a pasta correta, confirma o plano, executa ou autoriza passos importantes e valida no celular ou emulador.

Fluxo de trabalho com IA no curso

Aluno define objetivo e contexto
Cursor com IA (Rules + Context7)
React Native + Expo → projeto ToDoList
Validação pelo aluno (terminal, app, Git)

Utilize as Project Rules preparadas na Aula 02 (copiadas para .cursor/rules na raiz do ToDoList) e o MCP Context7 para consultar documentação atualizada do Expo e do React Native antes de fixar versões ou comandos.

Revisão humana

Não aceite automaticamente toda sugestão da IA. Leia o plano, confira diffs e teste o app. Em caso de dúvida, peça explicação em português simples antes de executar comandos destrutivos.

2. Criando o projeto ToDoList

Este tópico concentra a prática da Aula 03. Siga as etapas na ordem; use prompts copiáveis quando indicado.

2.1 Preparando a pasta do projeto

Na Aula 01, você criou a pasta de trabalho ProjetosMobile (no local que escolheu — não assumimos unidade C: nem caminho fixo).

Agora o projeto do app ficará dentro dela, com este formato:

ProjetosMobile/
└── ToDoList/
  • No Cursor, abra a pasta ProjetosMobile que você criou (File → Open Folder).
  • O agente deve criar o projeto ToDoList como subpasta — evite aninhar ToDoList/ToDoList por engano.
  • Confira com Get-Location no terminal integrado se está na pasta correta antes de rodar comandos.

2.2 Orientando a IA para criar o ToDoList

Assim que a pasta ToDoList existir, copie para .cursor/rules/ na raiz dela os dois arquivos .mdc da Aula 02 (01-diretrizes-gerais.mdc e 02-arquitetura.mdc) — passo a passo na seção Rules. Abra o projeto no Cursor antes de enviar o prompt abaixo.

Verificando a versão do Node.js

Na Aula 01 você instalou o Node.js (e o npm). Antes de criar o ToDoList, confirme as versões no terminal integrado — o Expo exige compatibilidade com o Node instalado.

PowerShell — versões Node e npm
node --version
npm --version

O terminal exibirá linhas como v22.x.x (Node) e 10.x.x (npm) — use o resultado real da sua máquina; os números acima são apenas exemplos de formato.

Copie ou anote as duas versões e informe-as à IA no prompt abaixo (substitua os marcadores antes de enviar).

Copie o prompt no chat do Cursor (modo Agent ou equivalente). Ajuste caminhos se sua pasta tiver outro nome ou local.

Prompt — criar projeto ToDoList com Expo
Objetivo: criar o projeto didático ToDoList com React Native e Expo dentro da pasta ProjetosMobile que já tenho aberta no Cursor.

Contexto: Academia PHR Software — Aula 03. Ambiente Windows + PowerShell. Rules do curso em .cursor/rules (copiadas da Aula 02). MCP Context7 disponível.

Minhas versões (substitua pelos resultados reais de node --version e npm --version):
- Node.js: [SUA_VERSAO_NODE]
- npm: [SUA_VERSAO_NPM]

Instruções:
- Consulte a documentação ATUAL do Expo via Context7 e verifique se minhas versões de Node/npm são compatíveis com o template e comandos que você recomendar.
- NÃO atualize o Node.js, npm nem altere o ambiente do sistema automaticamente — se houver incompatibilidade, explique o problema e proponha opções; peça minha autorização antes de qualquer mudança.
- Respeite as Project Rules do projeto.
- Use o template oficial adequado a iniciantes (TypeScript é bem-vindo se for o padrão do template; não precisa de aula extra só sobre TS).
- Crie o app na pasta ProjetosMobile/ToDoList (não crie ToDoList/ToDoList).
- NÃO implemente ainda cadastro, listagem ou gerenciamento de tarefas — apenas o projeto inicial executável.
- Apresente um PLANO numerado (comandos, arquivos criados, verificações) ANTES de executar qualquer comando.
- Peça minha confirmação explícita antes de operações importantes (instalação, sobrescrita, git remoto).
- Ao concluir, informe o que foi criado e como devo verificar (estrutura, npx expo start, erros comuns).

Restrições: não commitar nem fazer push sem meu pedido nesta etapa; não incluir segredos; responder em português do Brasil.

Personalizando a tela inicial (boas-vindas)

Com o projeto Expo criado e validado (npx expo start sem erro bloqueante), peça à IA para ajustar apenas a tela inicial — sem cadastro, listagem ou gerenciamento de tarefas (isso fica para a Aula 04). Revise o diff antes de aceitar.

Prompt — tela inicial da Aula 03
Objetivo: personalizar a tela inicial do ToDoList (Expo) para a Academia PHR Software — Aula 03.

Contexto: projeto didático ToDoList já criado nesta pasta; Windows + PowerShell; Project Rules em .cursor/rules.

A tela deve exibir, de forma legível e organizada (layout simples, identidade visual sóbria da Academia — cores claras, boa hierarquia tipográfica, espaçamento confortável), os textos abaixo (pode usar Text/View padrão do React Native; emoji permitido na primeira linha):

1. Olá, mundo! 👋
2. Bem-vindo ao ToDoList
3. Meu primeiro aplicativo desenvolvido com React Native, Expo e inteligência artificial.
4. Academia PHR Software
5. Aula 03 — Primeiro aplicativo

Instruções:
- Altere SOMENTE o necessário para a tela inicial de boas-vindas (tela/rota principal do template).
- NÃO implemente cadastro, listagem, edição, exclusão ou persistência de tarefas.
- NÃO adicione bibliotecas desnecessárias.
- Apresente um plano curto (arquivos a tocar) ANTES de editar; peça minha confirmação.
- Após as alterações, indique como validar com npx expo start (Web com tecla W ou --web).

Restrições: não commitar nem fazer push; responder em português do Brasil.

2.3 Conhecendo a estrutura criada

Após a criação, um projeto Expo típico inclui pastas e arquivos semelhantes a estes (nomes podem variar conforme o template):

ToDoList/
├── app/          (telas e rotas — Expo Router, se o template usar)
├── assets/       (imagens, ícones)
├── package.json  (dependências e scripts npm)
├── app.json      (configuração Expo)
└── ...

Você não precisa memorizar cada arquivo agora. Use a IA para um tour guiado do que foi gerado no seu disco:

Prompt — explicar estrutura do projeto criado
Explique, em linguagem simples para iniciante, a estrutura REAL do projeto ToDoList que acabamos de criar nesta pasta.

Contexto: Aula 03 Academia PHR — primeiro contato com Expo.

Restrições: não escrever código novo; não alterar arquivos; máximo 10 bullets; para cada pasta/arquivo importante, diga “para que serve” em uma frase; mencione onde ficará a interface nas próximas aulas.

Resultado: lista numerada + sugestão de 3 pastas que devo abrir no explorador do Cursor para me familiarizar.

2.4 Executando o aplicativo pela primeira vez

Com o terminal integrado na pasta do projeto ToDoList, você pode testar o app na Web (mais simples no Windows) ou no Expo Go (Android). Em ambos os casos, comece subindo o servidor de desenvolvimento:

PowerShell — iniciar Expo
npx expo start

O Expo compila o projeto e mostra atalhos no terminal (incluindo QR code quando aplicável). Documentação: Começar a desenvolver, Configurar o ambiente.

O app ainda não terá cadastro ou listagem de tarefas — apenas a tela inicial do curso. As funcionalidades do ToDoList começam na Aula 04.

Opção A — Executar no navegador (Web)

  1. Abra o terminal integrado na pasta ToDoList.
  2. Execute npx expo start (comando acima).
  3. Quando o menu do Expo aparecer, pressione W para abrir no navegador.
  4. Alternativa: iniciar já em modo web:
PowerShell — Expo direto na Web
npx expo start --web

Confira na tela (após o prompt de boas-vindas em §2.2): Olá, mundo! 👋, Bem-vindo ao ToDoList, o parágrafo sobre React Native/Expo/IA, Academia PHR Software e Aula 03 — Primeiro aplicativo.

A Web é ótima para validar layout e texto rapidamente, mas não substitui testes nativos no celular (gestos, notificações, desempenho real).

Opção B — Executar no Expo Go (Android)

  1. Instale o Expo Go compatível com o SDK do seu projeto — confira a versão indicada no terminal ou em expo.dev/go.
  2. Conecte o computador e o celular à mesma rede Wi-Fi (evite VPN que isole o tráfego).
  3. Na pasta ToDoList, execute npx expo start.
  4. Abra o Expo Go no Android e escaneie o QR Code exibido no terminal (ou use o atalho indicado pelo Expo).
  5. Aguarde o bundle carregar e verifique se a tela inicial aparece no dispositivo.

Se o Expo Go não conectar

Falhas de rede, firewall ou incompatibilidade de SDK são comuns no primeiro teste. Continue pela Opção A (Web) para não travar a aula e anote o teste Android como pendente — você pode retomar depois com apoio da IA e da documentação do Expo.

  • Expo iniciado sem erro que impeça continuar
  • App testado na Web (tecla W ou --web) ou no Expo Go
  • Tela inicial com boas-vindas e menção à Academia PHR
  • Android: concluído ou anotado como pendente

2.5 Criando o repositório no GitHub

Git registra o histórico de alterações no seu computador. O GitHub guarda uma cópia remota desse histórico na nuvem — útil para backup, consulta a versões anteriores e compartilhamento.

Você criará um repositório chamado ToDoList (nome igual ao projeto local facilita o curso).

  1. Acesse sua conta em github.com.
  2. Clique em New repository (novo repositório).
  3. Informe o nome ToDoList.
  4. Escolha visibilidade — recomendamos Public para acompanhar o curso e compartilhar progresso (ajuste se sua escola ou empresa exigir privado).
  5. Não marque README, .gitignore ou licença na criação — o projeto local já terá arquivos; isso evita conflito no primeiro push.
  6. Crie o repositório e copie a URL HTTPS (ex.: https://github.com/seu-usuario/ToDoList.git).

Cuidados ao utilizar o GitHub com agentes de IA

  • O agente pode orientar ou executar comandos Git, conforme as permissões que você conceder no Cursor.
  • Revise toda operação que altera arquivos, histórico ou repositório remoto antes de confirmar.
  • Não cole no chat senhas, tokens ou chaves privadas — nem em prompts de exemplo.
  • Prefira autenticação oficial: Git Credential Manager (Windows) ou GitHub CLI (gh auth login), conforme a documentação GitHub.
  • Confira o repositório de destino (nome, conta, URL HTTPS) imediatamente antes de um git push.
  • Desconfie de exclusões em massa, reescrita de histórico (reset --hard, push --force) ou publicação sem revisão — peça explicação em português simples antes de aceitar.

Referências: GitHub — segurança da conta, Sobre o Git.

2.6 Organizando o projeto e suas versões

Um app, evolução contínua. Durante todo o curso você mantém um único aplicativo ToDoList no seu computador e no seu GitHub. Cada aula adiciona ou refina funcionalidades sobre o mesmo projeto:

  • Aula 03: criação inicial e primeiro commit.
  • Aula 04: interface do app.
  • Aula 05: gerenciamento de tarefas.
  • Aulas seguintes: prioridades, persistência, testes, APK, etc.

Depois de validar cada aula prática, você registra um commit (marco no histórico).

Repositório do aluno — um projeto, atualizado ao longo do tempo:

ToDoList/
├── app/
├── assets/
├── package.json
└── ...

Repositório didático da Academia PHR Software (GitHub institucional, separado do seu ToDoList pessoal):

mobile-com-ia-todolist/   (GitHub phr-software)
├── aula-03/
├── aula-04/
├── aula-05/
└── ...

Cada pasta aula-XX publica uma versão estável de referência ao final daquela aula — para consulta e comparação. Essas cópias não substituem nem se misturam ao seu projeto local; você continua evoluindo um único app em ProjetosMobile/ToDoList.

2.7 Registrando a primeira versão

Com o app rodando e o repositório vazio criado no GitHub, use a IA para organizar o Git com segurança:

Prompt — primeiro commit e push (Aula 03)
Objetivo: preparar o primeiro commit do ToDoList e conectar ao repositório GitHub remoto que criei (URL HTTPS que informarei abaixo).

Contexto: Aula 03 Academia PHR — projeto Expo inicial validado com npx expo start.

Passos que você deve seguir (adapte aos resultados reais dos comandos):
1. Examinar a situação atual do Git (git status, branch, remote se existir).
2. Confirmar que estou na pasta raiz ToDoList e que .gitignore existe; se faltar, sugira conteúdo padrão Expo sem incluir node_modules, .env, credenciais ou arquivos temporários.
3. Listar arquivos que SERIAM incluídos no commit — eu reviso antes de continuar.
4. Pedir minha autorização explícita antes de git add / git commit / git remote / git push.
5. Commit com mensagem exata: aula-03: projeto inicial com Expo
6. Conectar remote origin à URL HTTPS que eu colar (git remote add ou set-url conforme necessário).
7. Antes do push, mostrar o comando e pedir confirmação novamente.
8. Após push, orientar como verificar no GitHub se os arquivos apareceram.

Restrições: PROIBIDO git reset --hard, git clean, force push ou descartar alterações sem minha confirmação; não commitar segredos; explicar cada comando em uma linha em português.

Comandos ilustrativos (a IA deve ajustar à sua situação): git status, git add ., git commit -m "aula-03: projeto inicial com Expo", git remote add origin <URL>, git push -u origin main (ou master, conforme o branch local).

Código de referência — Aula 03

A Academia publica versões estáveis do ToDoList organizadas por aula no GitHub:

github.com/phr-software/mobile-com-ia-todolist — pasta aula-03

  • Use para consultar arquivos e comparar com o seu projeto — não é obrigatório copiar tudo.
  • Seu ToDoList deve continuar no mesmo diretório (ProjetosMobile/ToDoList) e evoluir aula a aula.
  • Não substitua seu projeto pelo código de referência; trate-o como material de apoio didático.

Checklist e próximos passos

Checklist — Aula 03

  • Projeto Expo ToDoList criado em ProjetosMobile/ToDoList
  • Cursor Rules do curso aplicadas no projeto (Aula 02)
  • Tela inicial personalizada (boas-vindas + Academia PHR Software)
  • App executado na Web ou no Expo Go (npx expo start)
  • Teste Android: concluído ou anotado como pendente
  • Primeiro commit (aula-03: projeto inicial com Expo) enviado ao seu GitHub
  • Código de referência da Academia localizado para consulta (seção acima)

O que você aprendeu

Você relacionou React Native e Expo ao ToDoList, usou a IA com Rules e Context7 para criar o projeto, executou o app na Web ou no Expo Go, conheceu o repositório de referência da Academia e iniciou o histórico Git no seu GitHub — base para evoluir o mesmo app nas próximas aulas.

Próxima etapa — Aula 04: construir a interface do ToDoList (layout, componentes e estilos iniciais) sobre o projeto que você acabou de criar. Mantenha o repositório atualizado com commits após cada marco validado.

Dúvidas ou sugestões?

Encontrou alguma dificuldade durante a aula? Tem sugestões para melhorar nosso conteúdo?

Queremos ouvir você e tornar a Academia PHR Software cada vez melhor.

Enviar dúvida ou sugestão