Church Offering Deposit Form
Overview
This project willbuilds helpupon you gain hands-on experience with modern frontend technologies and Google Apps Script integration. You will build a digital Code of Conduct application form for Children’s Ministry as a Google Apps Script web app, designed to be embedded into our BookStack knowledge base and to supportthe digital signature andform PDFproject output.to create a mobile-friendly offering deposit entry form. The form will streamline the process of recording multiple donations collected during church offerings, with digital signatures from two counting staff members.
YouDue areDate: encouragedAugust to31, use AI code assistants (such as Cursor and GitHub Copilot) to accelerate your development and improve code quality.2025
Objectives
- Build a
Codemobile-optimizedofofferingConduct applicationdeposit form as a Google Apps Script webapp,app - Support
HTML5,rapidES6+,entryCSS3,of multiple deposits with minimal friction - Implement dynamic data loading from Google Sheets for staff names and
WebfundComponents for the frontend.types AcceptCapture digital signaturesviafromthetwowebcountingapp.staff members- Generate
atimestamped PDFofrecordsthewithsubmitted application, and save it to a specified Google Shared Drive.signatures - Store
formallsubmissionsdata inaGoogleSheetSheets for tracking andmanagement.reporting - Embed the
web app as an iframeapplication inaBookStackpage.for Consulteasywith your mentor (Thian-Peng) as needed—especially regarding digital signature capture and PDF generation/storage.access
Prerequisites
BookStackstarting,OfficialensureDocumentationyou DockerhaveDocumentationGoogle Apps Script DocumentationWeb Components Overview
Before
Tasks
1. Plan & Research
Studycompleted thesample forms at:https://training.saskcac.ca/children-ministry/code-conducthttps://training.saskcac.ca/children-ministry/application
Review how digital signatures are captured in HTML5 (e.g., using<canvas>and libraries likeSignature Pad).Research options for PDF generation and saving files to a Shared Drive via Google Apps Script (e.g., usingPDF-LIB, or Apps Script’s built-in capabilities).Consult with your mentor before final implementation ofdigital signature project andPDFarestorage.familiar
2. Set Up Your Development Environment
with:
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
Recreate the Code of Conduct application form as the first milestone.Include all required fields (name, email, etc.).Add digital signature capture.
Validate and submit the form data to the backend (Google Apps Script).Implement form data handling in Apps Script.Set up Google Sheets integration to log all form submissions with timestamp, applicant details, and status.
4. Set Up Google Sheets Integration
Create a Google Sheet to store form submissions and track application status.Use Apps Script's SpreadsheetApp service to append form data automatically.Include columns for: timestamp, name, email, signature status, PDF file ID, and drive link.Implement error handling for sheet operations to ensure data integrity.Consider adding a simple dashboard view using Google Sheets' built-in charts for application tracking.
5. Generate and Store PDF
On submit, generate a PDF version of the completed application form, including the digital signature.Store the generated PDF in the designated Google Shared Drive folder.Update the corresponding Google Sheets row with PDF file ID and drive link.Mark submission status as "completed" in the sheet.Ensure only authorized users can access the PDF (discuss with mentor).
6. Deploy and Embed
Deploy the web app publicly or with appropriate permissions.Embed it into a BookStack page using an iframe:<iframe src="YOUR_WEB_APP_URL_HERE" width="100%" height="800" style="border:none;"></iframe>Test the full workflow.
Final Deliverable
A workingGoogle Apps Script web appthatdevelopment- HTML5, CSS3, ES6+, and Web Components
- Digital signature capture using canvas/Signature Pad
- PDF generation and Google Drive integration
- Google Sheets API operations
- Mobile-responsive design principles
Database Structure Setup
1. Create Required Google Sheets
Create three Google Sheets in your project folder:
Sheet 1: "Offering Deposits" (Main Data Sheet)
Columns: Date, Name, Payment Form, Amount, Offering, Note, Counter 1, Counter 2, Timestamp, PDF File ID, Drive Link, Status
Sheet 2: "Offering Counting Staff"
Columns: Name, Active Status Pre-populate with:
- Xiaoying Shen
- Weihong Xue
- Sinnie Lee
- Lisa Hsieh
Sheet 3: "Funds"
Columns: Fund Name, Active Status, Display Order Pre-populate with:
- General
- Church Building
- Benevolent
- Missions
- Short-Term Mission
- Capital Projects
- Next Generation Leadership
Development Tasks
- Create Efficient Deposit Entry Interface
Design for Speed:- Use a repeatable row component for deposits
- Implement "Add Another" functionality
- Auto-calculate running totals
- Validate data as user enters data
- Implement Dual Digital Signature
- Backend Data Processing
- PDF Generation with Signatures
- Data Validation & Error Handling
- Optimize
- When entering the
CodepersonofwhoConductmakesform,theacceptsdonation, provide the ability to select people who make donations previously to allow rapid selection.
- When entering the
Technical Specifications
Mobile Breakpoints:
- Ensure usability on both portrait and landscape
- Test on iOS Safari and Android Chrome
User Experience Flow
- Setup Phase: Select date and two counting staff members
- Data Entry: Add deposits one by one with quick workflow
- Review: Show summary with totals by fund type
- Signatures: Capture both staff signatures
- Submission: Generate PDF and save to sheets
- Confirmation: Show success message with PDF link
Final Deliverable
Required Outputs:
- Fully functional mobile-optimized web app
- Integration with three Google Sheets
- PDF generation with digital
signatures,signatures - BookStack
aembeddedPDF, and stores it in a Google Shared Drive.implementation - Demo video (
2-3-5 minutes) showing:TheMobileweb app running (formfillusage+workflow- Multiple
+deposit entries - Signature capture process
- Generated PDF
output)output TheGoogleSheet being updated with submissionSheets dataThe PDF saved on Google Drive with tracking in the sheetThe form embedded in BookStackupdates
signature
Testing Checklist:
UploadMobiletheresponsivenessvideoacrosstodevices- Data
folder:validationUploadandLinkerror handling - Signature capture functionality
- PDF generation with proper formatting
- Google Sheets integration
- Performance under typical usage loads
Questions or Issues?
If you
getencounterstuckchallenges during development, especially with mobile optimization orhaveperformanceany questions (especially about digital signatures or PDF storage),issues, reach out to Thian-Peng directly viaSignalSignal.Recommended Tools:
- Use Cursor or
yourGitHubusualCopilotchannel.for accelerated development - Test on actual mobile devices, not just browser dev tools
- Consider using Chrome DevTools' mobile simulation for initial testing
Tip:ThisDon’tprojectreinventemphasizes practical mobile UX for rapid data entry while maintaining thewheel—userobustAIbackendcodearchitectureassistantsfromliketheCursordigitalandsignatureGitHub Copilot to help you learn and move faster.project.- Use Cursor or