Implementační plán: Newsletter a sledování novinek
Datum vytvoření: 17. listopadu 2025 Cíl: Vyřešit problém uživatelů, kteří chtějí pravidelně sledovat novinky na webu
🎯 Přehled řešení
Kombinace automatizace (data z Git/change-logu) + manuální "omáčka" (komentář, tipy, osobní postřehy) v administraci.
Frekvence: 1x měsíčně (cca poslední den v měsíci) Technologie: Flask (backend), Next.js (admin frontend), Postgres (databáze), Docusaurus (web)
📋 Fáze implementace
FÁZE 1: RSS Feed (quickwin - 1 týden práce)
Benefit:
- Okamžitě řeší problém pro tech-savvy uživatele
- Není potřeba databáze
- Minimum údržby
Implementace:
- Docusaurus plugin pro RSS feed (
@docusaurus/plugin-content-blogpodporuje RSS nativně) - Generování z change-log.md nebo automaticky z Git commitů
- Přidat viditelnou sekci na hlavní stránce "🔔 Sledujte novinky" s odkazy na RSS readery (Feedly, Inoreader)
- Widget "Subscribe to RSS" v sidebaru
Výhody:
- ✅ Nulová údržba po spuštění
- ✅ Žádná data od uživatelů (GDPR friendly)
- ✅ Tech uživatelé to ocení
FÁZE 2: Email Newsletter systém (2-3 týdny práce)
Architektura:
Git commits → Admin backend (Flask) → Database (Postgres)
→ Admin frontend (Next.js) pro editaci → Email service
Databázové modely (Postgres):
-- Tabulka pro newsletter issues
newsletters:
- id
- month (2025-11)
- status (draft/scheduled/sent)
- intro_text (tvoje "omáčka")
- outro_text
- scheduled_date
- sent_date
-- Automaticky detekované změny z Git
newsletter_changes:
- id
- newsletter_id
- type (new_article/update/website_feature)
- title
- url
- description (z change-logu)
- git_commit_hash
- included (boolean)
-- Subscribery
newsletter_subscribers:
- email
- subscribed_at
- confirmed (double opt-in)
- unsubscribe_token
Workflow:
1. Automatická detekce změn:
- Cron job v admin_app/tasks.py (Celery máš už nastavenou)
- Parsuje change-log.md nebo Git commits za poslední měsíc
- Vytvoří draft newsletteru s předvyplněným obsahem
2. Editace v admin panelu:
- Přidáš úvodní text ("Ahoj! V listopadu jsem se zaměřil na...")
- Upravíš/vyřadíš některé položky
- Přidáš "tip měsíce" nebo "nejpopulárnější článek"
- Preview emailu
- Naplánuješ odeslání (např. vždy poslední den v měsíci)
3. Odeslání:
- Možnost A: Self-hosted řešení: Listmonk (Go, single binary)
- Možnost B: Jednodušší: SMTP přes Flask-Mail
- Možnost C: Resend.com API (10k emailů/měsíc zdarma)
Frontend pro uživatele (Docusaurus):
/newsletterstránka s:- Formulář pro přihlášení k odběru
- Archiv minulých newsletterů (web verze)
- Ukázka newsletteru
- Call-to-action v patičce každého článku
- Pop-up/banner po scrollu (nenásilný)
FÁZE 3: "What's New" widget na hlavní stránce (1 týden)
Koncept: Interaktivní časová osa/karta s posledními změnami přímo na homepage.
Implementace:
// React komponenta v Docusaurus
<WhatsNew>
<Timeline>
<TimelineItem date="Před 3 dny" type="new">
<a href="/...">Music Assistant</a> - komplexní hudební server
</TimelineItem>
<TimelineItem date="Před týdnem" type="update">
<a href="/...">Zigbee2MQTT</a> - aktualizace
</TimelineItem>
</Timeline>
<SubscribeButton />
</WhatsNew>
Features:
- Data načítá z change-log.md nebo API endpointu
- Vizuálně atraktivní s ikonami (🆕, ♻️, 🔧)
- Sticky na homepage
- Zobrazuje posledních 5-10 změn
FÁZE 4: Browser Push Notifications (nice-to-have)
Pro ty, co nechtějí email ale chtějí notifikace:
- Web Push API (Service Worker)
- Uživatel klikne "Povolit notifikace"
- Dostane push při novém článku
- Self-hosted přes Web Push knihovnu
🎨 Doporučený newsletter formát
Struktura "Jirkoviny - Listopad 2025"
👋 Ahoj!
[TVŮJ OSOBNÍ ÚVOD - 2-3 odstavce o tom, čemu ses věnoval,
co tě bavilo, případně nějaký osobní postřeh z komunity]
---
🆕 NOVÉ NÁVODY
• Music Assistant - komplexní hudební server pro HA
• Vzdálený přístup - průvodce všemi metodami
♻️ AKTUALIZACE ČLÁNKŮ
• Bluetooth Proxy - pokročilá konfigurace
• Zigbee2MQTT - nový frontend a monitoring
🔧 VYLEPŠENÍ WEBU
• Katalog produktů s filtrováním
• Redesign 404 stránky
---
💡 TIP MĚSÍCE
[Jeden vybraný článek/tip, který chceš zdůraznit]
📊 STATISTIKA MĚSÍCE
• Nejčtenější článek: [...]
• Nová diskuze: [odkaz na zajímavý komentář]
---
Díky, že čteš Jirkoviny!
Něco tě zaujalo? Napiš do komentářů 👇
[odkaz na web]
[UNSUBSCRIBE link]
🚀 Doporučené pořadí implementace
| Týden | Úkol | Výstup |
|---|---|---|
| 1-2 | RSS Feed | Funkční RSS feed na webu |
| 3-4 | Newsletter backend | Databáze + parsování change-logu |
| 5 | Admin panel | UI pro editaci newsletterů |
| 6 | Frontend subscribe | Formulář + archiv |
| 7 | What's New widget | Widget na homepage |
💰 Bonus nápady pro růst
1. "Chytré domácnosti v Česku" komunita
- Discord/Slack pro diskuzi mimo komentáře
- Měsíční Q&A session
2. Case studies
- "Moje chytrá domácnost" - hosté z komunity sdílí své setupy
- Foto, popis, inspirace
3. Interaktivní nástroje
- "Kalkulačka úspor" (kolik ušetříš automatizací)
- "Kompatibilita checker" (zadáš HW, zjistíš co funguje)
4. YouTube shorts/TikTok
- 30-60s tipy z článků
- Odkaz v popisu na web
📊 Metriky úspěchu
Po 3 měsících:
- Počet RSS subscriberů
- Počet email subscriberů
- Open rate newsletteru (cíl: >30%)
- Click rate (cíl: >10%)
- Nárůst returning visitors v Plausible
Po 6 měsících:
- Měsíční návštěvnost roste o X%
- Zvýšení engagement (komentáře, čas na stránce)
🔧 Technické poznámky
Stack:
- Backend: Flask (Python) - v
python/admin_app/ - Frontend admin: Next.js - v
python/admin_app/frontend/ - Databáze: PostgreSQL
- Web: Docusaurus + React
- Task queue: Celery (už implementováno)
- Email: TBD (Resend.com / Listmonk / Flask-Mail)
Integrace s existujícím kódem:
- Využít
python/admin_app/app/tasks.pypro Celery úlohy - Přidat nové modely do
python/admin_app/app/models/ - API endpointy do
python/admin_app/app/routes/ - Frontend komponenty do
python/admin_app/frontend/src/components/
✅ Next Steps
- Rozhodnout: Začít s Fází 1 (RSS Feed)?
- Vytvořit: Detailní technický design pro Fázi 1
- Implementovat: RSS feed plugin v Docusaurus
- Testovat: S několika uživateli před plným spuštěním
Status: 📋 Plán připraven, čeká na schválení Poslední aktualizace: 17. listopadu 2025
Komentáře