Executando verificação de segurança...
2

Usando o google planilha como banco de dados

Olá novamente, pessoal do TabNews! Estou de volta com a minha segunda postagem, trazendo mais um vídeo curto que vai te mostrar uma abordagem diferenciada para usar o Google Planilhas. Antes de mais nada, quero deixar claro que o conteúdo que você vai ver aqui é mais descontraído, então não leve tudo muito a sério.

Eu falo muito sobre implementação, que na verdade e implantação

Mas vamos ao que interessa! No futuro, pretendo trazer um vídeo em que vou criar uma aplicação simples, utilizando o Google Planilhas como banco de dados. Essa aplicação será um teste interessante para avaliarmos até onde podemos levar essa ferramenta. Vai ser uma experiência e tanto, e estou animado para ver o quanto ela vai aguentar... 0/

Segue vídeo:
https://www.youtube.com/watch?v=N5A77YWm2NI

Segue os Código:
dopost

function doPost(e) {
    var jsonData = e.postData.contents;
    var data = JSON.parse(jsonData);
  
    var nome = data.nome;
    var idade = data.idade;
    var email = data.email;
  
    var planilha = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    planilha.appendRow([nome, idade, email]);
  
    var result = { message: 'Dados adicionados com sucesso!' };
    return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JSON);
  }

doget

 function doGet() {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var rows = sheet.getDataRange().getValues();
    var headers = rows[0];
    var jsonData = [];
    
    for (var i = 1; i < rows.length; i++) {
      var data = rows[i];
      var row = {};
      
      for (var j = 0; j < headers.length; j++) {
        row[headers[j]] = data[j];
      }
      
      jsonData.push(row);
    }
    
    var jsonString = JSON.stringify(jsonData);
  
    
    return ContentService.createTextOutput(jsonString).setMimeType(ContentService.MimeType.JSON)
    
  
  }
  
  
  
Carregando publicação patrocinada...
4

Muito legal essa proposta @alifersouza!! Me lembra um projeto em Google Apps Script que desenvolvi para uma ONG que fazia um trabalho voluntário há alguns anos atrás. Vou dar um pouco mais de detalhes, quem sabe se for útil / interessante adapto o código para algo público.

Contexto do problema

Éramos uma ONG focada em educação e cursos para alavancar a carreira de alunos de uma universidade pública, coisa muito caseira e com poucos recursos para investir em sistemas ou desenvolvedores. Boa parte das inscrições, cadastros e controle de presença dos programas era feito em Google Forms (nosso impacto só chegaria a ~5000 alunos/ano se a gente conseguisse atender a faculdade inteira, não fazia sentido muito mais sofisticaçãoq ue isso).

A complicação (sempre tem uma)

Mesmo com poucos "usuário", conforme escalamos os programas, acabamos com muitos processos manuais e erros, que acabava desmotivando os próprios voluntários, que fazia tudo aquilo acontecer. Foi então que tentamos dar um salto de automatização usando Google Apps Script para gerenciar nossos Google Forms de input e Google Sheets de output. Estava procurando por uma solução caseira mas funcional.

O projeto (conceitualmente)

Consegui desenvolver um projeto com o seguinte funcionamento: toda vez que alguém submetia uma resposta num formulário específico (digamos um formulário de inscrição para um curso), o sistema processava essa resposta e permitia tomar ações para "completar campos" na planilha onde as respostas do Google Forms são armazenadas (campos calculados, registros de contexto, etc), além de poder alterar outros formulários que entraria na rotina dessa pessoa (como por exemplo adicionar o nome da pessoa no formulário que controlava presença no curso, ou no formulário de feedback das sessões que o aluno participava).

Usei para isso o conceito de Web App do Google Apps Script onde criava triggers associado ao evento de envio de uma resposta a determinados formulários, inclusive com poder de mensageria dos erros / log caso algo desse errado. Tudo 100% web ... e funcionava bem.

Nesse projeto, o Google Forms servia como front-end, o Google Sheets era o nosso banco de dados e o Web App do Google Apps Script servia como nosso back-end. Conseguimos ainda codar tudo em typescript usando npm, o webpack para consolidar tudo num arquivo Code.gs que subíamos para a google usando a ferramenta clasp (command line apps script), além de workflows do Github Actions para construir um CI/CD funcional para o projeto toda vez que subíamos um novo código para a branch main (prod) ou develop (qa). Realmente foi muito massa.

Único porém disso tudo foi que não consegui um jeito legal de criar testes automatizados e.. Google Sheets não foi nem nunca será um banco de dados bom com características ACID, etc. Nunca passará de um projeto quick and dirty, mas foi bom para aprendizado.

Conclusões

O Google Apps Script é uma ferramenta incrível, dá para explorar muita coisa. Fica aqui uma recomendação de canal que me ajudou muito nessa jornada Learn Google Sheets & Excel Spreadsheets

1

Irado! Na firma a gente usa muito para relatórios. Tipo, ao inves de criar backoffices elaborados, com filtros e tudo mais para gerar a planilha, a gente faz toda a logica do relatorio via app script. Busca os dados das apis e constrói a planilha.

Simples e rápido.

1

Meu Deus que projeto maravilho.
Cara, muito obrigado por compartilhar tanto conhecimento. Sou novo na programação e estou me lançando nesse mundo. Vou com todo o prazer dissecar o link que você mandou. Muito obrigado por disponibilizar seu tempo para comentar. 0/