Skip to main content

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-blog podporuje 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):

  • /newsletter strá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ÚkolVýstup
1-2RSS FeedFunkční RSS feed na webu
3-4Newsletter backendDatabáze + parsování change-logu
5Admin panelUI pro editaci newsletterů
6Frontend subscribeFormulář + archiv
7What's New widgetWidget 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.py pro 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

  1. Rozhodnout: Začít s Fází 1 (RSS Feed)?
  2. Vytvořit: Detailní technický design pro Fázi 1
  3. Implementovat: RSS feed plugin v Docusaurus
  4. 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

Comments