Digital Signature Form
Overview
This project will help you getgain familiarhands-on experience with ourmodern technicalfrontend setuptechnologies byand integratingGoogle Apps Script integration. You will build a digital Code of Conduct application form for Children’s Ministry as a Google Apps Script web appapp, designed to be embedded into our BookStack knowledge base. You will be working with Docker, Google Apps Script,base and BookStack.to support digital signature and PDF output.
You are encouraged to use AI code assistants (such as Cursor and GitHub Copilot) to accelerate your development and improve code quality.
Objectives
Set up and run the BookStack app using Docker containers.Create and deployBuild a"HelloCodeWorld"of Conduct application form as a Google Apps Script web app, using HTML5, ES6+, CSS3/6, and Web Components for the frontend.- Accept digital signatures via the web app.
- Generate a PDF of the submitted application, and save it to a specified Google Shared Drive.
- Embed the web app as an iframe in a BookStack page.
RecordConsultawithshortyourdemomentorvideo(Thian-Peng)toasdemonstrateneeded—especiallytheregardingsetup.digital signature capture and PDF generation/storage.
Prerequisites
Before starting, please review the following documentation to ensure a smooth setup:
- BookStack Official Documentation
- Docker Documentation
- Google Apps Script Documentation
- Web Components Overview
Note:
The followingThese steps are starting points;additional configuration or troubleshootingyou maybeneedrequired.to research and troubleshoot as you go.- Embedding an iframe
mightinnecessitateBookStackadjustingmayBookStack'srequireconfigurationconfigsettings.changes—see the BookStack docs.- Deploying
theGoogle Apps Script webappappscouldinvolvesinvolve modifyingconfiguring accesspermissionsandor deployment settings.permissions.UtilizeUse AI toolslikeandChatGPT, Grok Deep Research, or otheronline resources to assistwithasany challenges you encounter during this project.needed.
Tasks
1. SetPlan Up& BookStack with DockerResearch
UseStudy the sample forms at:official BookStack Docker guidehttps://training.saskcac.ca/children-ministry/code-conductor our internal repository if available.Ensurehttps://training.saskcac.ca/children-ministry/application
theBookStack- Review
ishowaccessibledigitallocally,signatures are captured in HTML5 (e.g., usingand libraries like Signature Pad).http://localhost:8080<canvas> LogResearchinoptionsusingforthePDFdefaultgenerationorandconfiguredsavingcredentials.files
Expected Outcome: BookStack app is running locally in Docker.
2. Createto a Shared Drive via Google Apps Script (e.g., using PDF-LIB, or Apps Script’s built-in capabilities).
2. Set Up Your Development Environment
- Set up a new Google Apps Script project.
- Scaffold your frontend using HTML5, CSS, ES6+, and Web Components. (Consider using VS Code, Cursor, or other AI-enhanced IDEs.)
- Use a modular approach and write clean, maintainable code.
3. Build the Application Form Web App
GoRecreatetothescript.google.comCode of Conduct application form as the first milestone.- Include all required fields (name, email, etc.).
CreateAdd digital signature capture.
- Validate and submit the form data to the backend (Google Apps Script).
- Implement form data handling in Apps Script.
- On submit, generate a
newPDFprojectversion of the completed application form, including the digital signature. - Store the generated PDF in the designated Google Shared Drive folder.
- Ensure only authorized users can access the PDF (discuss with mentor).
4. Generate and Store PDF
5. Deploy and pasteEmbed
function doGet() {
return HtmlService.createHtmlOutput("<h1>Hello World</h1>");
}
- Deploy the
scriptwebasapp publicly or with appropriate permissions. - Embed it into a
web app:ClickDeploy > New deployment.ClickSelect typeand chooseWeb app.Enter a description, e.g., "Hello World Deployment".UnderExecute as, selectMe.UnderWho has access, selectAnyone.ClickDeploy.Authorize the script if prompted.Copy the deployment URL.
Expected Outcome: A public URL that displays "Hello World".
3. Embed the Web App in BookStack
Log in to your localBookStackinstance.page Create a new Page or editusing anexisting one.Use the following HTML to embed the web app:
<iframe src="YOUR_WEB_APP_URL_HERE" width="100%" height="500"800" style="border: none;"></iframe>
Embedding external content via iframes may require additional configuration in BookStack to allow such content. Refer to
Expected Outcome: A page in BookStack that shows the embedded "Hello World" web app.
Final Deliverable
Please
- A working Google Apps Script web app that replicates the Code of Conduct form, accepts digital signatures, generates a
shortPDF,demoand stores it in a Google Shared Drive. - Demo video (2-5 minutes) showing:
- The
BookStackweb app runningin(formDocker.fill + signature + PDF output) - The PDF saved on Google Drive
- The form embedded
"Hello World" app functioninginBookStack. A brief explanation of your setup.BookStack
- The
- Upload the video to
the following Google Drivethis folder:
Upload Link
Questions or Issues?
- If you
rungetinto any problemsstuck or havequestions,any questions (especially about digital signatures or PDF storage), reach out to Thian-Peng directlyonviaSignal.Signal or your usual channel.
Tip: Don’t reinvent the wheel—use AI code assistants like Cursor and GitHub Copilot to help you learn and move faster.