# Evergreen Applicator 🌲 **Washington pesticide applicator exam prep** — an interactive single-page study suite for passing the WSDA pesticide applicator license (Core + Structural + Ornamental & Turf + Agricultural). Built from the *Study Manual for Pest Management Professionals* (WSU EM019) plus an original question bank. ## Live **https://evergreenapplicator.thetempleofdoom.com** ## What's inside - **WA Cert** — WSDA licensing guide: exam format, fees, categories, CE requirements, printable application checklist - **Field guide** — all 13 chapters with real pest photos (Wikimedia, CC/PD) - **Identification keys** — branching keys, walked one couplet at a time - **House faults** — 22 points of faulty construction/maintenance, in order - **WA Prep** — 318 questions (249 original + 69 from the manual) with instant feedback + a timed 50-question mock exam (120 min, 70% pass) - **Flashcards** 🔒 / **Practice exam** 🔒 — premium - **Glossary** — every defined term, searchable ## Monetization Freemium: the field guide, keys, house faults, WA Cert, and WA Prep are free. **Flashcards and the practice exam are a $5 Bitcoin unlock** via BTCPay. - BTCPay store: `FDT6DHWEaA7DF5WFePkp4pufgQ9yy1G6JfzTCwey1jYn` - Price: $5 USD (on-chain BTC) - Flow: `/unlock` → BTCPay invoice → `/webhook/btcpay` (InvoiceSettled) → client polls `/api/status` → unlocks ## Stack - Single self-contained `index.html` (vanilla JS SPA, no build step) - Flask (`app.py`) for the paywall + BTCPay webhook (HMAC-verified) - nginx reverse proxy → Flask :5000 - SQLite (`orders.db`) for order state ## Deploy - Proxmox LXC CT **117** (`nocturne`) @ 10.30.20.234 - systemd `nocturne.service`, nginx `sites-enabled/nocturne` - Cloudflare tunnel `thetemple-fleet` (`1aeb1ac0-3c49-4801-b61d-bc92e6e4932a`), ingress → `:80` ## Files - `index.html` — the study suite (paywall gate, photos, WA Prep, BMAC footer injected) - `app.py` — Flask backend (BTCPay invoice, webhook, unlock status, image serving) - `images/` — 25 real pest photos (Wikimedia Commons) - `wa_exam_data.py` / `wa_exam_data2.py` — the original 249-question bank (part 2 imports part 1) - `rebuild_wa_prep.py` — build script for the WA Prep view + mock exam - `inject.py` / `integrate_photos.py` / `add_wa_view.py` / `rename.py` — one-shot build scripts - `nocturne.service` / `nocturne.nginx` — service + nginx config