mzkwcim.net projekt FormKit

Google Apps Script / Forms / Sheets

FormKit — Google Forms

FormKit to moje narzędzie do pracy z Google Forms i Apps Script. Powstało z potrzeby szybszego tworzenia powtarzalnych formularzy i traktowania formularza nie jako osobnej ankiety, ale jako elementu większego procesu.

To bardziej biblioteka niż gotowy produkt. Ułatwia mi pracę, ale nadal wymaga wiedzy technicznej i świadomego użycia.

Wróć do projektów
Formularz Google Forms wygenerowany przy pomocy FormKita

Skąd wziął się pomysł

Nie chciałem za każdym razem klikać formularza od zera

FormKit powstał z realnej potrzeby. Pomagałem mojej mamie przy formularzach na obozy i klubowe zamówienia. Bez formularza wiele rzeczy kończyło się telefonami, ręcznym zbieraniem informacji i danymi rozrzuconymi w kilku miejscach.

Google Forms dobrze rozwiązuje pierwszy problem: pozwala zebrać odpowiedzi w jednym miejscu. Ale kiedy trzeba przygotować kolejny podobny formularz, z delikatnie innymi pytaniami, walidacjami i ustawieniami, zaczyna się żmudne klikanie.

Chciałem mieć sposób, w którym formularz da się odtworzyć z konfiguracji, a nie budować go za każdym razem ręcznie.

Problem

Powtarzalna praca wokół formularzy

Najbardziej męczące było ustawianie wszystkich walidacji, tworzenie pytań, dodawanie autorów, generowanie linków i sprawdzanie po kolei, czy wszystko jest poprawnie ustawione.

Same formularze często były podobne: obóz, odzież klubowa, zgłoszenia albo zamówienia. Różniły się szczegółami, ale cały szkielet pracy był prawie taki sam.

Dla kogo

Najpierw dla siebie i klubu

Projekt zrobiłem przede wszystkim po to, żeby szybciej pomagać przy klubowych formularzach. Dzięki temu rodzice i zawodnicy mogli zgłaszać się przez formularz, a dane trafiały do arkusza zamiast być zbierane ręcznie.

To nie jest osobny system dla użytkownika końcowego. To narzędzie pomocnicze, które ułatwia mi przygotowanie formularza i workflowu wokół niego.

Jak działa FormKit

Konfiguracja zamiast ręcznego klikania

FormKit tworzy Google Form ze zdefiniowanymi pytaniami, które można zmieniać w konfiguracji. Dodaje typy pól, wymagane odpowiedzi i walidacje. Tworzy też arkusz z odpowiedziami.

Typowy przepływ wygląda tak:

import biblioteki konfiguracja JSON uruchomienie skryptu Google Form + arkusz linki i workflow mailowy

Formularz powstaje od zera na podstawie konfiguracji w JSON-ie. Po uruchomieniu skryptu dostaję formularz, arkusz odpowiedzi oraz linki potrzebne do pracy: dla respondenta i dla edytora.

Wygenerowany formularz odzieży klubowej
Przykład formularza klubowego. Struktura formularza i walidacje mogą być odtworzone z konfiguracji.
Zanonimizowany arkusz odpowiedzi z formularza Google Forms
Odpowiedzi trafiają do arkusza. Dane na screenie zostały zanonimizowane, ale widać strukturę procesu.

Workflow mailowy

Nie tylko formularz, ale też dalszy proces

W projekcie trzymam też funkcje, które łatwo mogę skopiować do konkretnego arkusza. Jedna z nich odpowiada za automatyczne wysłanie maila po otrzymaniu formularza, a druga za wysłanie maila po potwierdzeniu płatności.

To było przydatne przy zgłoszeniach na obóz albo zamówieniach odzieży sportowej. Formularz zbierał dane, arkusz pozwalał je uporządkować, a mail domykał komunikację z osobą, która wypełniła zgłoszenie.

Najciekawsza część

Odwoływanie się do pól z JSON-a

Najwięcej czasu zajęło mi sensowne odwoływanie się do pól opisanych w JSON-ie i mapowanie ich na konkretne elementy formularza.

Kiedy to zaczęło działać razem z walidacjami i mailami, efekt był bardzo satysfakcjonujący: zamiast kolejnego jednorazowego skryptu miałem narzędzie, które faktycznie mogłem wykorzystać ponownie.

Zakres

Co potrafi

  • tworzy Google Form z konfiguracji,
  • dodaje pytania i typy pól,
  • ustawia wymagane odpowiedzi,
  • dodaje walidacje,
  • tworzy arkusz odpowiedzi,
  • ułatwia obsługę maili po zgłoszeniu i płatności.

Technologie

Prosty zestaw usług Google

FormKit działa w ekosystemie Google: Google Apps Script, Google Forms, Google Sheets i Gmail. Nie ma osobnego frontendu ani dużej aplikacji. To skrypty i arkusze, które rozwiązują konkretny problem.

Status

Prototyp, którego nadal używam

FormKit jest prototypem i narzędziem pomocniczym. Nadal go używam, bo w tej formie jest dla mnie wygodny.

Nie jest produktem komercyjnym. To moje narzędzie do pracy z Google Forms i Apps Script. Możliwe, że kiedyś je rozwinę, ale na razie w backlogu mam kilka większych pomysłów.

Czego mnie nauczył

Myślenie biblioteką

FormKit był projektem użytkowym, ale nauczył mnie ważnej rzeczy: czasem lepiej zbudować małą bibliotekę niż kolejny jednorazowy skrypt.

Dzięki temu formularz przestał być czymś, co trzeba ręcznie wyklikać, a stał się elementem procesu, który można odtworzyć i dostosować.

Dla technicznych

Script ID zostaje publiczny

FormKit nie jest gotowym produktem do kliknięcia przez każdego. To biblioteka i zestaw funkcji, z których można korzystać świadomie w Google Apps Script.

Wróć do projektów