Voltar para Home

Formulários e Coleta de Dados

Aplicativos e Automação

Dados e Dashboards

📋 Conteúdo Completo

Módulos e Aulas

Desenvolvimento de formulários, automações, aplicativos de baixo código e dashboards para coleta, gestão e análise de dados.. Clique nas aulas para ver os conteúdos.


01

Módulo 1 – Google Forms: criação de formulário de inscrição online

Conceitos, características, recursos e criação de formulário online para inscrição em cursos, com armazenamento em planilha e confirmação automática por e-mail usando Apps Script.

6 aulas
Conceitos e aplicações do Google Forms

Conhecer a ferramenta e suas principais possibilidades.

5 min
Resumo: O Google Forms é uma ferramenta de criação de formulários online que permite coletar informações, realizar inscrições, aplicar questionários e registrar respostas em uma planilha do Google Sheets. Entre seus recursos estão perguntas de múltipla escolha, caixas de seleção e respostas abertas; campos obrigatórios e validação; seções condicionais; coleta de e-mails; mensagens de confirmação; armazenamento e análise de respostas; compartilhamento por link e incorporação em páginas web.
Criar formulário, título, descrição e identidade visual

Criar o formulário de inscrição para um curso de Informática.

8 min
Resumo: Acesse forms.google.com, selecione um formulário em branco, informe o título Inscrição — Curso de Informática e adicione uma descrição com os objetivos, a carga horária e as orientações para os participantes.
Perguntas, campos obrigatórios e validações

Configurar perguntas adequadas ao processo de inscrição.

8 min
Resumo: Configure os campos Nome completo (resposta curta, obrigatório), E-mail (resposta curta com validação, obrigatório), Telefone (resposta curta, obrigatório), Curso pretendido (múltipla escolha, obrigatório), Escolaridade (lista suspensa, obrigatório), Disponibilidade (caixas de seleção, obrigatório) e Observações (parágrafo, opcional).
Seções e perguntas condicionais

Organizar o formulário e direcionar participantes conforme suas respostas.

8 min
Resumo: Seções ajudam a dividir formulários longos em etapas. Perguntas condicionais permitem encaminhar o participante para uma seção diferente com base na resposta, por exemplo, mostrar perguntas adicionais para quem escolheu um curso presencial.
Vincular o formulário ao Google Sheets

Armazenar respostas em uma planilha.

8 min
Resumo: Abra a guia de respostas do formulário e escolha a opção para vincular ou criar uma planilha. Crie a planilha Inscricoes_Cursos, envie uma resposta de teste e verifique se os dados foram registrados corretamente.
Confirmação automática por e-mail com Apps Script

Enviar uma mensagem ao participante quando uma resposta é recebida.

8 min
Resumo: O Apps Script pode enviar uma confirmação automática quando uma nova resposta é registrada. O exemplo pressupõe que o formulário contenha perguntas identificadas exatamente como E-mail e Nome completo. O acionador deve ser instalado para executar a função quando a planilha receber uma resposta. A conta executora precisa ter permissão para enviar e-mails.
function confirmarInscricao(e) { const respostas = e.namedValues; const email = respostas["E-mail"]?.[0]; const nome = respostas["Nome completo"]?.[0]; if (!email) { throw new Error("E-mail não informado."); } MailApp.sendEmail({ to: email, subject: "Confirmação de inscrição", body: `Olá, ${nome || "participante"}!\n\n` + "Recebemos sua inscrição no curso de Informática.\n" + "A equipe responsável entrará em contato com as " + "próximas orientações.\n\n" + "Atenciosamente,\nCoordenação do curso" }); }
02

Módulo 2 – Apps Script: painel de dashboard para monitoramento de planilhas

Usar JavaScript no Apps Script para ler planilhas, calcular indicadores, agrupar dados e publicar um painel web com HTML, CSS e JavaScript.

8 aulas
Conceitos e recursos do Apps Script

Conhecer a plataforma de automação baseada em JavaScript.

5 min
Resumo: O Google Apps Script é uma plataforma de automação baseada em JavaScript executada na infraestrutura do Google. Permite interagir com Planilhas, Gmail, Drive, Documentos e outros serviços do Google Workspace. Também possibilita criar aplicações web. Seus recursos incluem leitura e atualização de dados, funções personalizadas, menus, processamento de dados, execução programada, notificações e interfaces HTML.
Estrutura da planilha para o dashboard

Preparar uma fonte de dados consistente.

8 min
Resumo: Crie uma aba chamada Inscricoes, com os cabeçalhos Data, Nome, Curso e Situação. Use dados de teste como Ana — Excel — Confirmada, Bruno — Python — Pendente e Carla — Excel — Confirmada. A primeira linha deve conter os cabeçalhos.
Ler dados e calcular indicadores com Code.gs

Ler a planilha, contar inscrições e agrupar os dados por curso.

8 min
Resumo: A função obterDashboard lê a aba Inscricoes, remove linhas sem nome, conta o total de registros, calcula confirmadas e pendentes e agrupa as inscrições por curso. A função doGet carrega a página HTML da aplicação web.
function obterDashboard() { const planilha = SpreadsheetApp.getActiveSpreadsheet(); const aba = planilha.getSheetByName("Inscricoes"); if (!aba) { throw new Error("A aba Inscricoes não foi encontrada."); } const dados = aba.getDataRange().getValues(); const linhas = dados.slice(1).filter( linha => linha[1] !== "" ); const total = linhas.length; const confirmadas = linhas.filter( linha => linha[3] === "Confirmada" ).length; const pendentes = linhas.filter( linha => linha[3] === "Pendente" ).length; const porCurso = {}; linhas.forEach(linha => { const curso = String(linha[2] || "Não informado"); porCurso[curso] = (porCurso[curso] || 0) + 1; }); return { total, confirmadas, pendentes, porCurso }; } function doGet() { return HtmlService .createHtmlOutputFromFile("Index") .setTitle("Dashboard de Inscrições"); }
Criar a interface HTML do painel

Exibir indicadores e agrupamentos em uma página responsiva.

8 min
Resumo: Crie um arquivo HTML chamado Index. A interface exibe três cartões com total de inscrições, confirmadas e pendentes, além de uma lista com a quantidade de inscrições por curso. A comunicação com o servidor utiliza google.script.run e manipuladores de sucesso e falha.
<!DOCTYPE html> <html lang="pt-BR"> <head> <base target="_top"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> body { font-family: Arial, sans-serif; margin: 24px; background: #f4f6f8; color: #202124; } .painel { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; } .card { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 2px 8px #0001; } .valor { font-size: 2rem; font-weight: bold; } </style> </head> <body> <h1>Dashboard de Inscrições</h1> <p id="status">Carregando dados...</p> <div class="painel"> <div class="card">Total de inscrições<div id="total" class="valor">—</div></div> <div class="card">Confirmadas<div id="confirmadas" class="valor">—</div></div> <div class="card">Pendentes<div id="pendentes" class="valor">—</div></div> </div> <h2>Inscrições por curso</h2> <ul id="cursos"></ul> <script> google.script.run .withSuccessHandler(dados => { document.getElementById("total").textContent = dados.total; document.getElementById("confirmadas").textContent = dados.confirmadas; document.getElementById("pendentes").textContent = dados.pendentes; const lista = document.getElementById("cursos"); lista.replaceChildren(); Object.entries(dados.porCurso).forEach(([curso, quantidade]) => { const item = document.createElement("li"); item.textContent = `${curso}: ${quantidade}`; lista.appendChild(item); }); document.getElementById("status").textContent = "Dados carregados com sucesso."; }) .withFailureHandler(() => { document.getElementById("status").textContent = "Não foi possível carregar os dados."; }) .obterDashboard(); </script> </body> </html>
Gráficos, tabelas e indicadores

Ampliar o painel com visualizações adicionais.

8 min
Resumo: O dashboard pode ser ampliado com percentual de inscrições confirmadas, quantidade por mês, gráfico de barras por curso e uma tabela de registros. Os cálculos devem ser realizados com dados validados e os indicadores devem ter nomes claros.
const percentualConfirmadas = total > 0 ? (confirmadas / total) * 100 : 0;
Atualização e tratamento de erros

Tratar falhas na leitura de dados e atualizar o painel.

8 min
Resumo: Use withFailureHandler para apresentar uma mensagem genérica quando ocorrer uma falha. Evite expor detalhes técnicos ou dados privados ao usuário final. Um botão de atualização pode executar novamente obterDashboard e substituir os valores mostrados.
function atualizarPainel() { document.getElementById("status").textContent = "Atualizando..."; google.script.run .withSuccessHandler(dados => { document.getElementById("total").textContent = dados.total; document.getElementById("confirmadas").textContent = dados.confirmadas; document.getElementById("pendentes").textContent = dados.pendentes; document.getElementById("status").textContent = "Atualizado."; }) .withFailureHandler(() => { document.getElementById("status").textContent = "Falha ao atualizar os dados."; }) .obterDashboard(); }
Publicar a aplicação web

Implantar e testar o painel.

8 min
Resumo: Salve os arquivos, selecione Implantar → Nova implantação, escolha Aplicativo da web, defina quem poderá acessar e com qual identidade o script será executado, autorize as permissões e copie o endereço gerado. As opções disponíveis dependem da conta e das políticas do Google Workspace.
Exercício final do módulo

Completar e validar o dashboard.

7 min
Resumo: Adicione ao painel percentual de inscrições confirmadas, quantidade de inscrições por mês, botão de atualização e gráfico de barras por curso, utilizando uma biblioteca de visualização ou gráfico gerado na planilha.
03

Módulo 3 – AppSheet: aplicativo para alimentar e consultar dados de uma planilha

Criar aplicativo low-code conectado ao Google Sheets, com formulários, tabelas, filtros, validações e regras de acesso.

7 aulas
Conceitos e recursos do AppSheet

Introdução ao desenvolvimento low-code.

5 min
Resumo: O AppSheet permite desenvolver aplicações de baixo código a partir de fontes como Google Sheets. A plataforma cria formulários, tabelas, listas e outras visualizações, com opções de controle de permissões, ações, sincronização e funcionamento offline. Recursos disponíveis podem depender do plano e das configurações da conta.
Preparar a planilha de solicitações

Modelar a tabela de origem do aplicativo.

8 min
Resumo: Crie uma aba Solicitacoes com as colunas ID, Data, Solicitante, Categoria, Descricao e Status. O campo ID deve ser único e não deve depender do número da linha da planilha, pois linhas podem ser inseridas ou reordenadas.
Criar o aplicativo com os próprios dados

Conectar o AppSheet à planilha.

8 min
Resumo: Acesse AppSheet, entre com a conta autorizada a acessar a planilha, escolha criar um aplicativo com os próprios dados, selecione a planilha Solicitacoes e revise os campos detectados automaticamente.
Configurar chave e valores iniciais

Definir identificador, data e estado inicial.

8 min
Resumo: Defina ID como chave (Key), configure o identificador para gerar valor único, Data como DateTime, Categoria como Enum, Descricao como LongText e Status como Enum. As expressões a seguir são exemplos para configurar nas propriedades apropriadas, como Initial value.
UNIQUEID() NOW() "Nova"
Criar formulários, listas e detalhes

Organizar a navegação do aplicativo.

8 min
Resumo: Configure as visualizações Nova Solicitação (formulário), Solicitações (tabela ou lista), Detalhes (registro completo) e Por Status (agrupamento das solicitações por situação).
Filtros e slices

Exibir somente os registros que atendam a uma condição.

6 min
Resumo: Para mostrar solicitações ainda não concluídas, uma condição de filtro possível é a expressão abaixo. Ela pode ser usada em um slice conforme a estrutura do aplicativo. Ocultar registros em uma view ou slice não é, por si só, um mecanismo de segurança.
[Status] <> "Concluída"
Teste de permissões e sincronização

Verificar o comportamento do aplicativo e os dados de origem.

7 min
Resumo: Teste inclusão, consulta e alteração de registros. Confirme se os dados aparecem na planilha de origem e se as permissões impedem acesso não autorizado. Verifique a sincronização e as limitações da conta utilizada.
04

Módulo 4 – AppSheet: cadastro de produtos e consulta de preços

Desenvolver um aplicativo de catálogo de produtos, registro de preços, pesquisa por nome ou código e comparação de preços por estabelecimento.

8 aulas
Modelagem de dados para produtos

Separar o cadastro de produtos dos registros de preços.

5 min
Resumo: O aplicativo permitirá cadastrar produtos, consultar preços, pesquisar por nome ou código e comparar valores registrados em diferentes estabelecimentos. A separação entre Produtos e Precos permite cadastrar cada produto uma vez e registrar várias observações ao longo do tempo.
Criar as tabelas Produtos e Precos

Preparar as duas abas da planilha.

8 min
Resumo: Na aba Produtos, crie ProdutoID, Nome, Categoria, Unidade e Ativo. Na aba Precos, crie PrecoID, ProdutoID, Estabelecimento, DataPesquisa e Preco. Exemplo ilustrativo: P001, Arroz tipo 1, Alimentos, Pacote de 1 kg; preço R001, P001, Mercado A, 22/10/2026, 6,49. O valor é fictício.
Conectar as tabelas e configurar referências

Relacionar preços ao cadastro de produtos.

8 min
Resumo: No AppSheet, conecte as duas abas como tabelas distintas. Configure ProdutoID como chave da tabela Produtos, PrecoID como chave da tabela Precos e ProdutoID em Precos como coluna Ref apontando para Produtos. Configure Preco como Price ou tipo numérico apropriado e DataPesquisa como Date.
Identificadores, datas e validação de preço

Configurar valores iniciais e impedir preços inválidos.

8 min
Resumo: Configure PrecoID com um identificador único e DataPesquisa com a data atual como valor inicial. Para impedir preços iguais ou inferiores a zero, aplique uma regra de validação na coluna Preco.
UNIQUEID() TODAY() [Preco] > 0
Calcular o menor preço por produto

Usar expressão AppSheet para localizar o menor preço registrado.

8 min
Resumo: Uma coluna virtual na tabela Produtos pode calcular o menor preço registrado para aquele produto. A expressão abaixo considera somente preços positivos relacionados ao mesmo ProdutoID. Para pesquisa comercial, também é importante considerar a data da pesquisa, unidade de medida e disponibilidade.
MIN( SELECT( Precos[Preco], AND( [ProdutoID] = [_THISROW].[ProdutoID], [Preco] > 0 ) ) )
Criar telas de produtos e preços

Construir as principais visualizações do aplicativo.

8 min
Resumo: Configure Produtos (catálogo geral), Novo produto (formulário de cadastro), Registrar preço (formulário de pesquisa) e Comparar preços (tabela ordenada por produto, estabelecimento e preço).
Pesquisa e filtro de preços recentes

Pesquisar produtos e mostrar observações recentes.

8 min
Resumo: A pesquisa pode utilizar o recurso de busca das views. Para mostrar somente preços dos últimos 30 dias, uma condição possível é a expressão abaixo, aplicada ao slice ou filtro apropriado.
AND( [DataPesquisa] >= (TODAY() - 30), [Preco] > 0 )
Exercício avaliativo do módulo

Completar o aplicativo de consulta de preços.

7 min
Resumo: Cadastre cinco produtos, três estabelecimentos e pelo menos duas pesquisas de preço por produto. Implemente uma tela que identifique o menor preço registrado e o estabelecimento correspondente.
05

Módulo 5 – Data Studio: criação de relatórios e dashboards

Conectar fontes de dados, criar indicadores, gráficos, tabelas, campos calculados e filtros em relatórios interativos.

7 aulas
Conceitos de BI e visualização de dados

Conhecer relatórios e dashboards.

5 min
Resumo: Data Studio é uma plataforma de criação de relatórios e dashboards que permite conectar fontes de dados, criar gráficos, adicionar filtros e compartilhar visualizações interativas. Entre os recursos estão Google Sheets e outros conectores compatíveis, indicadores numéricos, gráficos de barras, linhas, áreas e setores, tabelas, filtros por período, campos calculados e compartilhamento.
Preparar a fonte de dados de vendas

Criar uma tabela com tipos de dados consistentes.

8 min
Resumo: Crie uma aba Vendas com as colunas Data, Produto, Categoria, Quantidade e PrecoUnitario. Exemplos fictícios: 01/10/2026, Arroz, Alimentos, 10, 6,49; 02/10/2026, Feijão, Alimentos, 8, 8,90; 03/10/2026, Café, Bebidas, 5, 18,50. A coluna Data deve ser reconhecida como data, Quantidade como número e PrecoUnitario como valor monetário.
Conectar o Google Sheets ao Data Studio

Adicionar a planilha como fonte de dados.

8 min
Resumo: Acesse o Data Studio, crie um relatório, adicione uma fonte do tipo Google Sheets, selecione a planilha e a aba Vendas, revise os tipos de dados e adicione a fonte ao relatório.
Criar campos calculados e cartões de indicadores

Calcular faturamento e métricas.

8 min
Resumo: Crie um campo calculado chamado ValorVenda, com a expressão Quantidade * PrecoUnitario. Configure a agregação como soma e adicione cartões para faturamento total, quantidade total vendida e número de produtos distintos. Para o produto com maior faturamento, utilize uma tabela ordenada.
Quantidade * PrecoUnitario
Criar gráficos e tabelas

Visualizar dados por período, produto e categoria.

8 min
Resumo: Adicione gráfico de linhas para faturamento por data, barras para faturamento por produto, setores para distribuição por categoria e tabela com produto, quantidade, preço unitário e faturamento.
Filtros e controles de período

Permitir que o usuário explore os dados.

7 min
Resumo: Adicione controle de período para seleção de datas e filtro por categoria. Verifique se os controles afetam os gráficos e as tabelas esperados.
Formatar, compartilhar e testar o relatório

Aplicar boas práticas e revisar permissões.

6 min
Resumo: Revise permissões do relatório e da fonte de dados. A possibilidade de visualizar o relatório sem acesso direto à planilha depende das credenciais e das permissões configuradas. Utilize nomes claros, unidades explícitas e escalas coerentes; evite gráficos tridimensionais e excesso de cores.
06

Módulo 6 – Projeto aplicado: dashboard de monitoramento de preços da cesta básica

Construir uma solução para registrar preços em estabelecimentos, calcular o custo de uma cesta padronizada e acompanhar diferenças e variações históricas.

9 aulas
Objetivos e metodologia da pesquisa

Definir o escopo e as regras para comparar preços.

5 min
Resumo: O sistema de monitoramento registra preços de produtos alimentícios em diferentes estabelecimentos, calcula o custo de uma cesta básica padronizada e visualiza diferenças ao longo do tempo. Para produzir indicadores comparáveis, é necessário definir produtos, unidades de medida, quantidades de referência e metodologia de coleta. O projeto pode ser usado em educação financeira, pesquisa de mercado e ensino de análise de dados.
Definir produtos e quantidades de referência

Criar uma cesta didática para os cálculos.

8 min
Resumo: Exemplo de cesta didática: arroz 5 kg, feijão 3 kg, açúcar 2 kg, café 1 kg, leite 6 litros e óleo 2 litros. Essas quantidades são hipotéticas e não representam necessariamente a composição oficial de uma cesta básica. A composição deve ser definida e documentada pelo projeto.
Criar a planilha de preços

Modelar os dados para permitir análise histórica.

8 min
Resumo: Separe o cadastro de produtos dos registros de preços. A tabela Produtos contém ProdutoID, Nome, Categoria, Unidade e QuantidadeReferencia. A tabela PesquisaPrecos contém PesquisaID, ProdutoID, Data, Estabelecimento, Município, Preço e Pesquisador. O ProdutoID relaciona cada observação ao cadastro de produtos e PesquisaID identifica cada observação.
Criar o formulário de coleta de preços

Registrar dados observados em estabelecimentos.

8 min
Resumo: Crie um formulário com Data da pesquisa, Nome do estabelecimento, Município e bairro, Produto pesquisado, Marca ou variedade quando pertinente, Unidade e quantidade da embalagem, Preço observado, Disponibilidade do produto e Observações. O formulário pode gravar respostas em uma planilha. Como alternativa, o AppSheet pode registrar preços e permitir selecionar produtos existentes.
Normalizar preços e calcular médias

Comparar embalagens e calcular estatísticas por produto.

8 min
Resumo: Considere uma aba PesquisaPrecos com A = data, B = estabelecimento, C = produto e D = preço normalizado por unidade de referência. Para calcular a média de um produto cujo nome está em G2, use AVERAGEIF. Para o menor preço, use MIN com FILTER. As fórmulas abaixo pressupõem funções em inglês e separadores por ponto e vírgula; a localidade da planilha pode exigir adaptação. Em relatórios, diferencie ausência de dados de preço igual a zero.
=IFERROR(AVERAGEIF(C2:C;G2;D2:D);0) =IFERROR(MIN(FILTER(D2:D;C2:C=G2));0)
Calcular o custo da cesta

Somar o custo de cada produto segundo a quantidade de referência.

8 min
Resumo: O custo total da cesta é a soma dos preços por unidade de referência multiplicados pelas quantidades definidas para cada produto. Não se deve somar preços isolados sem considerar as quantidades de referência.
C = soma(preco_unitario * quantidade_referencia para cada produto)
Construir o dashboard de monitoramento

Criar páginas de visão geral, comparação e evolução histórica.

10 min
Resumo: Conecte a planilha ao Data Studio e organize o relatório em três páginas. Página 1 — Visão geral: custo estimado da cesta, preço médio por produto, número de estabelecimentos pesquisados e data da última coleta. Página 2 — Comparação: menor e maior preço por produto, comparação entre estabelecimentos, gráfico de barras e filtros por município, estabelecimento e data. Página 3 — Evolução histórica: preços ao longo dos meses, variação percentual, maiores aumentos ou reduções e histórico das pesquisas.
Calcular a variação percentual

Comparar o preço atual com o preço anterior.

8 min
Resumo: A variação percentual é calculada pela diferença entre o preço atual e o anterior, dividida pelo preço anterior e multiplicada por 100. Se o preço passou de R$ 5,00 para R$ 5,50, houve aumento de 10%. Produtos, unidades e critérios de coleta devem ser equivalentes. Se o preço anterior for zero ou ausente, a variação percentual não deve ser calculada como se houvesse uma base válida.
variacao_percentual = ((preco_atual - preco_anterior) / preco_anterior) * 100
Validação e avaliação do módulo

Revisar a qualidade dos dados e os indicadores.

7 min
Resumo: Registre dados de pelo menos cinco produtos em três estabelecimentos, construa a base e desenvolva um dashboard com custo total da cesta, preço mínimo, médio e máximo por produto, comparação entre estabelecimentos, filtro de período, gráfico de evolução histórica, data da coleta e descrição da metodologia. Os indicadores devem ser calculados a partir de registros verificáveis e os dados fictícios devem ser identificados como demonstração.
07

Módulo 7 – Projeto final integrador: Preço Inteligente

Projeto de desenvolvimento de uma solução digital integrada para cadastrar produtos, registrar pesquisas de preços, consultar informações e acompanhar a evolução dos valores praticados por diferentes estabelecimentos.

10 aulas
Apresentação do projeto Preço Inteligente

Compreender o problema, os usuários e os resultados esperados.

8 min
Resumo: O projeto final consiste no desenvolvimento de uma solução digital integrada para cadastrar produtos, registrar pesquisas de preços, consultar informações comerciais e acompanhar a evolução dos valores praticados por diferentes estabelecimentos. Google Forms será utilizado para coleta; Google Sheets como base de dados inicial; Apps Script para automações e cálculos; AppSheet como interface de cadastro e consulta; e Data Studio para relatórios e dashboards. O sistema permitirá consultar produtos, identificar menores preços registrados, comparar estabelecimentos, acompanhar variações históricas e visualizar o custo de uma cesta definida previamente.
Requisitos funcionais do sistema

Listar as funções que a solução deverá oferecer.

8 min
Resumo: O sistema deverá oferecer cadastro e coleta de dados com campos obrigatórios e validações; base estruturada para produtos, estabelecimentos e pesquisas; aplicativo para cadastro, edição, registro e consulta; automação de cálculos e notificações; dashboard com indicadores; e recursos de segurança, revisão e documentação dos dados.
Arquitetura e fluxo de dados

Definir como as ferramentas serão integradas.

8 min
Resumo: O fluxo didático proposto começa no Google Forms, que coleta dados e os registra no Google Sheets. O AppSheet e o Apps Script trabalham com a mesma fonte de dados para cadastro, consulta e automação. O Data Studio conecta-se à planilha ou, quando apropriado, a uma fonte compatível do AppSheet para gerar relatórios. A arquitetura deve ser ajustada às permissões, limites e recursos disponíveis na conta.
Modelagem das tabelas e identificadores

Definir as tabelas e as relações entre registros.

8 min
Resumo: A base deve conter identificadores únicos para produtos, estabelecimentos e pesquisas. Os preços devem apontar para um produto existente, registrar data real da coleta e unidade de medida. A separação entre cadastro de produtos e observações de preço facilita a análise histórica e reduz duplicação.
Desenvolver os formulários de coleta

Configurar os campos e as validações.

8 min
Resumo: Crie os formulários para registrar produtos e observações de preços. Valide campos obrigatórios, preço positivo, data da coleta, estabelecimento, produto e unidade. Use dados fictícios para testes e identifique-os como demonstração.
Construir o aplicativo AppSheet

Criar as interfaces de cadastro, consulta e comparação.

8 min
Resumo: Configure visualizações para catálogo de produtos, cadastro de produtos, registro de preços e comparação de preços. Defina chaves únicas, referências entre tabelas, tipos de dados, regras de validação e permissões de acesso.
UNIQUEID() [Preco] > 0
Automatizar cálculos e notificações

Utilizar Apps Script e expressões para processar dados.

8 min
Resumo: Implemente os cálculos de preço por unidade de referência, preço mínimo, médio e máximo e custo estimado da cesta. Quando necessário, use Apps Script para gerar relatórios ou enviar notificações. Verifique limites de execução, cotas e permissões antes de usar em produção.
function calcularPrecoUnitario(precoEmbalagem, quantidadeEmbalagem) { if (quantidadeEmbalagem <= 0) { throw new Error("A quantidade da embalagem deve ser maior que zero."); } return precoEmbalagem / quantidadeEmbalagem; }
Criar o dashboard final

Apresentar indicadores e filtros de análise.

8 min
Resumo: Crie um dashboard com custo estimado da cesta, preço mínimo, médio e máximo por produto, comparação entre estabelecimentos, evolução histórica, filtros por município, estabelecimento e período e data da última coleta. Os gráficos devem ter títulos claros e as unidades devem estar explícitas.
Segurança, testes e documentação

Validar permissões, qualidade dos dados e recuperação.

8 min
Resumo: Utilize identificadores únicos, valide campos, registre datas reais, diferencie ausência de dados de zero, configure autenticação e permissões, evite expor planilhas restritas, teste usuários com permissões diferentes, documente limites de atualização e sincronização e mantenha uma cópia de segurança. Se o projeto for usado por uma instituição pública, avalie requisitos de proteção de dados pessoais, gestão de acesso e políticas institucionais.
Apresentação e entrega final

Demonstrar a aplicação e entregar os artefatos.

8 min
Resumo: A entrega final deve conter links dos recursos criados, base de demonstração, scripts utilizados, relatório analítico e documento explicando arquitetura, cálculos, permissões e testes. O aluno deverá demonstrar cadastro de produtos, registro de preços, consulta por estabelecimento e acompanhamento de indicadores no dashboard.
🏆 Projeto Final

Preço Inteligente — Sistema de Cadastro, Pesquisa e Monitoramento de Preços

Detalhes do projeto prático não disponíveis no momento.

Acessar o projeto prático