How bezouwenr/podfy-app works
PODFY is a branded proof-of-delivery upload application. An uploader selects one or more files, provides optional contact and location details, and submits them; the frontend localizes and validates input, while the upload Function stores files and sends configured notifications. Separate endpoints serve theme and per-slug feature configuration. Browser-side image and PDF conversion are present as distinct capabilities. The graph reflects documented flows and sampled calls; frontend theme-loading and conversion wiring is not established by the excerpts.
Main entry points: main.js Uploader controller · upload.js Upload handler · _mail.js Mail formatter · compress_file_to_pdf.js File converter
Components 19
Uploader experience
- Upload interface
public/index.html - Uploader controller
public/main.js - Translations
public/i18n.json
Brand configuration
- Static themes
public/themes.json - Theme catalog API
functions/api/themes/index.js - Slug theme API
functions/api/themes/[slug].js - Slug feature API
functions/api/slug/features.js
File processing
- File converter
public/compress/compress_file_to_pdf.js - Image to PDF
public/compress/image_to_a4_pdf.js - PDF rasterizer
public/compress/pdf_to_a4_pdf.js
Upload services
- Upload handler
functions/api/upload.js - PDF builder
functions/lib/pdf.js - Mail formatter
functions/_mail.js
External services
- Browser location
- Cloudflare D1
- Cloudflare R2
- Resend
- MailChannels
Other components
- Uploader
Connections 15
- Uploader → Upload interface: uses
- Upload interface → Uploader controller: controls
- Uploader controller → Translations: fetches
- Uploader controller → Browser location: requests location
- Uploader controller → Upload handler: submits files
- Theme catalog API → Cloudflare D1: queries themes
- Slug theme API → Cloudflare D1: queries slug
- Slug feature API → Cloudflare D1: queries flags
- Upload handler → Cloudflare D1: reads settings
- Upload handler → Cloudflare R2: stores files
- Upload handler → Mail formatter: sends mail
- Mail formatter → Resend: tries first
- Mail formatter → MailChannels: falls back
- File converter → Image to PDF: converts images
- File converter → PDF rasterizer: rasterizes PDFs