Usando o ChatGPT para criar um aplicativo da Web de pilha completa em ReactJS
Neste tutorial, demonstraremos como criar um aplicativo de lista de tarefas simples, mas funcional, com a ajuda do ChatGPT. Usaremos o Back4App para o backend, o React para o frontend e o Material-UI para o estilo. Nosso principal objetivo é ajudar as pessoas com pouco ou nenhum conhecimento de programação a criar aplicativos usando o poder do ChatGPT por meio de uma série de instruções e orientações.
Contents
Visão geral das tecnologias
- ChatGPT: O ChatGPT é um modelo de linguagem avançado desenvolvido pela OpenAI. Ele é baseado na arquitetura GPT-4 e pode ser usado para gerar código, responder a perguntas e fornecer assistência em várias tarefas.
- Back4App: A Back4App é uma plataforma de back-end totalmente gerenciada que simplifica o processo de criação, hospedagem e gerenciamento de aplicativos Web e móveis. Ele foi desenvolvido com base no Parse, uma estrutura de código aberto que oferece vários serviços, como armazenamento de dados, autenticação de usuários e funções de nuvem.
- React: React é uma biblioteca JavaScript popular para criar interfaces de usuário. Ela facilita a criação e o gerenciamento de componentes complexos da interface do usuário e seu estado.
- Material-UI: O Material-UI é uma biblioteca de componentes React popular que implementa os princípios do Material Design do Google, fornecendo componentes pré-construídos e recursos de temas para criar aplicativos da Web bonitos e funcionais.
Configuração do Back4App
Para começar a usar o Back4App, você precisará criar uma conta e um novo aplicativo na plataforma. Siga estas etapas:
- Inscreva-se para obter uma conta gratuita em https://www.back4app.com/.
- Faça login em sua conta e crie um novo aplicativo.
- Depois de criar o aplicativo, navegue até o “Dashboard” e anote a ID do aplicativo, a chave JavaScript e a chave da API REST, pois você precisará delas mais tarde.
Criação do modelo de dados
Comecei a fazer uma introdução ao chatGPT sobre o que eu queria. Não dei a ele muitos detalhes sobre o modelo de dados porque estava curioso para ver o que ele produziria. Minha solicitação para o chat GPT foi:
Pergunte ao ChatGPT: “Preciso de sua ajuda para criar um aplicativo de lista de tarefas completo com o ChatGPT e o Back4app. Vamos começar criando o modelo de dados. Você pode gerar o código para criar esse modelo de dados usando os comandos cURL disponíveis no Back4app? Use a primeira solicitação de criação de objeto para criar a classe inteira.”
Esse foi o resultado:

curl -X POST \
-H "X-Parse-Application-Id: zGWtprmiOpsVuVCpRfT9hmyML3ahOSf5BL5rhcaT" \
-H "X-Parse-REST-API-Key: gk8Zy2uCWriTwmYrtFCe7oobLDTKBihF0wMlFFnu" \
-H "Content-Type: application/json" \
-d '{
"title": "Tarefa de amostra",
"description": "Este é um exemplo de descrição de tarefa.",
"dueDate": {
"__type": "Date" (Data),
"iso": "2023-04-11T00:00:00.000Z"
},
"completed": false
}' \
https://parseapi.back4app.com/classes/Task
Depois disso, verifiquei o Back4app e meu modelo de dados foi criado com sucesso:

Uso do cURL para adicionar dados de amostra
Agora, solicitei um chatGPT para fornecer alguns dados de amostra para preencher minha classe:
Pergunte ao ChatGPT: “Agora me dê 5 novas tarefas como dados de amostra para preencher minha classe”.

# Tarefa 1
curl -X POST \
-H "X-Parse-Application-Id: zGWtprmiOpsVuVCpRfT9hmyML3ahOSf5BL5rhcaT" \
-H "X-Parse-REST-API-Key: gk8Zy2uCWriTwmYrtFCe7oobLDTKBihF0wMlFFnu" \
-H "Content-Type: application/json" \
-d '{
"title": "Buy groceries" (Comprar mantimentos),
"description": "Comprar mantimentos para a semana",
"dueDate": {
"__type": "Date",
"iso": "2023-04-11T00:00:00.000Z"
},
"completed": false
}' \
https://parseapi.back4app.com/classes/Task
# Tarefa 2
curl -X POST \
-H "X-Parse-Application-Id: zGWtprmiOpsVuVCpRfT9hmyML3ahOSf5BL5rhcaT" \
-H "X-Parse-REST-API-Key: gk8Zy2uCWriTwmYrtFCe7oobLDTKBihF0wMlFFnu" \
-H "Content-Type: application/json" \
-d '{
"title": "Trabalho de casa completo",
"description": "Terminar as tarefas de matemática e história",
"dueDate": {
"__type": "Date" (data),
"iso": "2023-04-12T00:00:00.000Z"
},
"completed": false
}' \
https://parseapi.back4app.com/classes/Task
# Tarefa 3
curl -X POST \
-H "X-Parse-Application-Id: zGWtprmiOpsVuVCpRfT9hmyML3ahOSf5BL5rhcaT" \
-H "X-Parse-REST-API-Key: gk8Zy2uCWriTwmYrtFCe7oobLDTKBihF0wMlFFnu" \
-H "Content-Type: application/json" \
-d '{
"title": "Comparecer a uma consulta médica",
"description": "Check-up anual no médico da família",
"dueDate": {
"__type": "Date" (Data),
"iso": "2023-04-13T00:00:00.000Z"
},
"completed": false
}' \
https://parseapi.back4app.com/classes/Task
# Tarefa 4
curl -X POST \
-H "X-Parse-Application-Id: zGWtprmiOpsVuVCpRfT9hmyML3ahOSf5BL5rhcaT" \
-H "X-Parse-REST-API-Key: gk8Zy2uCWriTwmYrtFCe7oobLDTKBihF0wMlFFnu" \
-H "Content-Type: application/json" \
-d '{
"title": "Ligue para o banco",
"description": "Informe-se sobre novas opções de conta poupança",
"dueDate": {
"__type": "Date" (data),
"iso": "2023-04-14T00:00:00.000Z"
},
"completed": false
}' \
https://parseapi.back4app.com/classes/Task
# Tarefa 5
curl -X POST \
-H "X-Parse-Application-Id: zGWtprmiOpsVuVCpRfT9hmyML3ahOSf5BL5rhcaT" \
-H "X-Parse-REST-API-Key: gk8Zy2uCWriTwmYrtFCe7oobLDTKBihF0wMlFFnu" \
-H "Content-Type: application/json" \
-d '{
"title": "Planeje uma escapada de fim de semana",
"description": "Pesquisar e reservar acomodações para uma viagem curta",
"dueDate": {
"__type": "Date" (data),
"iso": "2023-04-15T00:00:00.000Z"
},
"completed": false
}' \
https://parseapi.back4app.com/classes/Task
Executei os comandos em meu Terminal. Agora minha classe está preenchida no Back4app:

Criando o front-end do React
Agora que temos nosso back-end configurado, vamos criar um front-end para nosso aplicativo ToDo usando o React. Eu não tinha certeza de qual biblioteca React usar para me ajudar a criar uma interface de usuário melhor, então pedi sua recomendação:
Pergunte ao ChatGPT: “Agora vamos criar o front-end. Preciso de um front-end bonito e útil em React. Você recomenda o uso de alguma biblioteca de componentes específica para isso?”
Essa é a resposta:

Optei por usar o Material-UI e depois pedi para criar o código.

Como eu já tinha o node instalado em meu computador, foi fácil executar os comandos e criar o projeto. Se você não tiver o node instalado, poderá fazer o download e instalar aqui: https://nodejs.org/en/download
Primeiro, criei o projeto React:
npx create-react-app todo-app cd todo-app
e depois instalei os componentes que ele me recomendou em meu projeto:
npm install @mui/material @emotion/react @emotion/styled parse
Observe que, se em algum momento o chatGPT parar de escrever a resposta, você poderá pedir para continuar digitando: “you can continue”.
Agora, com o projeto criado, substituí o código App.js de acordo com a solicitação do chatGPT e também atualizei as chaves: AppID e JavaScript Key.

Este é o código completo:
importar React, { useState, useEffect } de 'react';
importar Parse de 'parse';
import { Container, Typography, TextField, Button, List, ListItem, ListItemText, Checkbox, IconButton } from '@mui/material';
import { Delete as DeleteIcon } from '@mui/icons-material';
// Inicialize o Parse com o ID do aplicativo Back4App e a chave Javascript
Parse.initialize('YOUR_APP_ID_HERE', 'YOUR_JAVASCRIPT_KEY_HERE');
Parse.serverURL = 'https://parseapi.back4app.com/';
const TodoItem = Parse.Object.extend('TodoItem');
função App() {
const [todoInput, setTodoInput] = useState('');
const [todos, setTodos] = useState([]);
useEffect(() => {
fetchTodos();
}, []);
const fetchTodos = async () => {
const query = new Parse.Query(TodoItem);
query.descending('createdAt');
try {
const results = await query.find();
setTodos(results);
} catch (error) {
console.error('Erro ao buscar todos:', erro);
}
};
const createTodo = async () => {
if (todoInput === '') return;
const todoItem = new TodoItem();
todoItem.set('title', todoInput);
todoItem.set('completed', false);
try {
aguarde todoItem.save();
setTodoInput('');
fetchTodos();
} catch (error) {
console.error('Erro ao criar todo:', erro);
}
};
const toggleTodo = async (todo) => {
todo.set('completed', !todo.get('completed'));
try {
await todo.save();
fetchTodos();
} catch (error) {
console.error('Erro ao atualizar todo:', erro);
}
};
const deleteTodo = async (todo) => {
try {
await todo.destroy();
fetchTodos();
} catch (error) {
console.error('Erro ao excluir todo:', erro);
}
};
return (
Lista de tarefas
setTodoInput(e.target.value)}
onKeyDown={(e) => {
se (e.key === 'Enter') {
createTodo();
}
}}
/>
{todos.map((todo) => (
toggleTodo(todo)}
/>
deleteTodo(todo)}>
))}
);
}
export default App;
Ao executar o código, pude ver, para minha surpresa, um aplicativo funcional completo em execução em minha máquina local e conectado ao Back4app Backend:

Conclusão
Neste tutorial, demonstramos como aproveitar o poder do ChatGPT para criar um aplicativo simples de lista de tarefas usando Back4App, React e Material-UI. Abordamos a configuração do back-end com o Back4App, a criação de um modelo de dados, a adição de dados de amostra com comandos cURL e a criação de um front-end bonito e funcional usando React e Material-UI.
Ao interagir com o ChatGPT por meio de uma série de prompts, conseguimos gerar trechos de código, orientações e instruções para cada etapa, possibilitando que usuários com pouco ou nenhum conhecimento de programação criassem um aplicativo da Web.
Esse exemplo mostra o potencial do ChatGPT como uma ferramenta para auxiliar os usuários em várias tarefas, inclusive no desenvolvimento da Web. Com o avanço contínuo das tecnologias de IA, podemos esperar ferramentas ainda mais sofisticadas e poderosas que podem ajudar usuários de diversas origens e níveis de habilidade a criar e desenvolver seus próprios projetos com facilidade.

