ðŸ›ï¸ Centre Township Board Meetings Ingestion Pipeline
Automatically creates and updates posts for monthly township meetings by synchronizing YouTube livestreams (@CentreTwpIN) with official meeting agendas and minutes (centretownshipin.gov/meetings/).
📰 Community News & Announcements Management
Create, edit, pin featured hero stories, and rearrange community bulletins synced to Cloudflare KV.
| Media | Title & Excerpt | Category | Date | Featured Hero | Actions |
|---|
🎉 Community Traditions & Annual Events Management
Create, edit, reorder, and update annual community tradition cards displayed on the Events & Calendar page.
| Media | Title & Badge Tag | Schedule / Date | Button Action | Actions |
|---|
🔠Google News Search Topics
Automate local news collection by defining Google News search terms. The system fetches and aggregates matching headlines in real-time.
| Status | Search Query Phrase | Category Tag | Preview | Actions |
|---|
📡 Local & Regional RSS News Feeds Catalog
Select from curated Michiana media outlets or add custom RSS/Atom feeds to feature on the Local News page.
Configured RSS Feed List
| Status | Outlet / Source Name | RSS Feed URL | Category | Actions |
|---|
â Business Partner Spotlight & Rotation Schedule
Centrally coordinated for all visitors. Active businesses rotate fairly so every business is featured before repeats.
Type any number of days. The edge server automatically advances to the next unfeatured business after this duration.
🢠Local Business Directory Management
Manage local partner businesses, service providers, and sponsor listings.
| Status | Last Paid | Logo | Business Name & Tagline | Category & Tier | Contact Info | Actions |
|---|
👥 Neighborhood Associations & Message Routing
Manage registered committees and the email destination addresses for the contact form.
| Association / Committee Name | Category Badge Tag | Registered Routing Email | Actions |
|---|
💾 Data Backup & Disaster Recovery
Export live database snapshots, restore historical backups with 1-click, and inspect automated rolling retention.
deploy.ps1 automatically triggers scripts/backup.py with a 24-hour rate limit and retains the last 10 historical snapshots.
Full-site ZIP archives + JSON database snapshots are safely archived locally in backups/ (git-isolated).
â˜ï¸ Cloudflare KV Daily Cloud Snapshots (Last 10 Days)
Automated daily snapshots stored directly at Cloudflare's edge in your KV namespace.
| Snapshot Date | Dataset Items | Cloudflare KV Key | Action |
|---|---|---|---|
| Loading cloud snapshots from Cloudflare KV... | |||
CLI Disaster Recovery Commands (Terminal)
If you ever need to rollback via command line:
python scripts/backup.py --force
# Interactively restore data or full site:
python scripts/restore.py
ðŸ›¡ï¸ Cloudflare Zero Trust (Access) Setup Instructions
Cloudflare Zero Trust protects this /admin path and your editing APIs at the edge before requests reach your website. Only authenticated emails (via One-Time PIN or Google login) will be granted access.
Step 1: Create an Access Application in Cloudflare Zero Trust
- Go to Cloudflare Dashboard → Select Zero Trust in the left sidebar.
- Navigate to Access → Applications → Click Add an application.
- Select Self-hosted.
- Application name:
MTOH Community Admin - Application domain / path: Set your domain and path to
admin*(e.g.yourdomain.org/admin*).
Step 2: Define Who Can Log In (Access Policy)
- Policy name:
Allow Committee Leaders - Action:
Allow - Configure rules:
- Selector: Emails → Enter authorized admin emails (e.g.
brian@yourdomain.com,board@mtoh-neighbors.org). - Or Selector: Access Groups / Emails ending in
@mtoh-neighbors.org.
- Selector: Emails → Enter authorized admin emails (e.g.
- Click Next and Save Application.
Step 3: Cloudflare KV Binding (One-Time Setup)
In Cloudflare Pages Project → Settings → Functions → KV namespace bindings → Bind COMMUNITY_KV to your KV namespace.