Files
Coop-NL/README.md
T
Jakub_HostacnyandClaude Opus 5.5 5d1900740c chore: zalozenie databazy a uloziska na novom serveri
- supabase/schema.sql: idempotentny skript (tabulky, RLS, bucket newsletter-assets)
- supabase/assets + npm run db:upload-assets: staticke obrazky sablony
- adresa uloziska sa sklada z NEXT_PUBLIC_SUPABASE_URL namiesto pevneho projektu
- .env.example a navod na instalaciu v README

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 10:54:55 +02:00

2.9 KiB
Raw Blame History

COOP Jednota – generátor newsletterov

Interný editor e-mailových newsletterov pre COOP Jednota: skladanie kampane z modulov (hlavička, bannery, produktové sekcie, vernostné zľavy, letáky, recepty, pätička), editor grafických cenoviek, export do ZIP a odoslanie kampane do Brevo.

Technológie: Next.js 16, React 19, Tailwind CSS 4, Supabase (databáza + úložisko obrázkov), Brevo API.

Inštalácia na nový server

1. Supabase projekt

  1. Vytvorte nový projekt na supabase.com (alebo použite vlastný Supabase server).
  2. Databáza: otvorte SQL Editor, vložte celý obsah supabase/schema.sql a kliknite Run. Vytvoria sa tabuľky templates (kampane) a badges (šablóny cenoviek), prístupové pravidlá a verejné úložisko obrázkov newsletter-assets. Skript sa dá bezpečne spustiť aj opakovane.
  3. V Project Settings → API si skopírujte Project URL, anon kľúč a service_role kľúč.

2. Premenné prostredia

cp .env.example .env.local

Doplňte do .env.local údaje zo Supabase a Brevo (popis je priamo v súbore). Na hostingu (Vercel, Docker…) nastavte rovnaké premenné v jeho nastaveniach.

3. Inštalácia a statické obrázky

npm install
npm run db:upload-assets

Druhý príkaz nahrá do úložiska newsletter-assets logá, ikony sociálnych sietí, štítky predajní a ukážkové obrázky zo supabase/assets/, ktoré šablóna newslettera používa.

4. Spustenie

npm run dev      # vývoj na http://localhost:3000
npm run build    # produkčný build
npm run start    # produkčný server

Pri prvom spustení s prázdnou databázou sa vytvorí nová kampaň z predvolenej šablóny (src/lib/defaultCampaign.ts) a automaticky sa uloží.

Štruktúra projektu

Cesta Obsah
src/app/page.tsx Hlavná obrazovka editora (stav kampane, auto-save, náhľad)
src/components/editor/ Panel nastavení, editor cenoviek, modály (import, uložené kampane)
src/lib/emailRenderer.ts Generovanie HTML e-mailu z kampane (náhľad aj export)
src/lib/badgeUtils.ts Generovanie SVG cenoviek a premenné ({cena}, {zlava}, {cena_s_kartou}…)
src/app/api/ Serverové API: nahrávanie obrázkov, inline CSS, export a overenie kampane v Brevo
supabase/schema.sql Schéma databázy a úložiska
supabase/assets/ Statické obrázky šablóny (nahrávajú sa cez npm run db:upload-assets)

Poznámky

  • Aplikácia nemá prihlasovanie a databáza je prístupná cez anon kľúč – je určená na interné použitie. Ak bude verejne dostupná, treba doplniť autentifikáciu.
  • Kampane uložené v pôvodnom Supabase projekte obsahujú odkazy na obrázky v pôvodnom úložisku. Nové kampane a novo nahraté obrázky používajú úložisko z .env.local.