Produktivní.cz — rychleji každý den
Pro profesiUčiteléStudentiManažeřiMarketingVývojářiFreelanceřiRodiče

Databáze promptů · AI · 14 promptů

Prompty z návodu

Interní CRM se Supabase: detailní návod od dat po nasazení

14 promptů z tohoto návodu. Doplňte to, co je v [hranatých závorkách] — vlastní kontext, text dokumentu nebo jméno nástroje. Právě ten kontext dělá rozdíl mezi obecnou a použitelnou odpovědí.

Číst celý návod →

Co už máte, jen o tom nevíte

Připravuji data pro interní CRM naší firmy [malá pražírna kávy, 6 lidí,
cca 80 velkoobchodních odběratelů]. Nahrávám exporty: kontakty z mobilu
(CSV), kontakty z e-mailu, tabulku z přepisu vizitek, tři Excely
s objednávkami za roky [2024–2026] a export faktur.

Udělej inventuru, nic zatím neměň:
1. U každého souboru vypiš, jaké sloupce obsahuje, kolik má záznamů
   a jak vypadá typický řádek
2. Odhadni překryvy: kolik firem a osob se vyskytuje ve více zdrojích
3. Vypiš nekonzistence formátů: telefony, IČO, názvy firem, datumy
4. Označ, co ve zdrojích úplně chybí a budu muset doplnit ručně
Výstupem je přehledová tabulka zdrojů a seznam problémů seřazený
podle závažnosti. Čekám na schválení, než začneme čistit.

Čištění: deduplikace a normalizace

Vyčisti nahraná data kontaktů a firem podle těchto pravidel:
1. Telefony převeď na mezinárodní formát [+420 a devět číslic bez
   mezer]; co nejde převést, označ ve sloupci problem
2. IČO: musí mít 8 číslic a platný kontrolní součet — neplatná označ,
   nedomýšlej je
3. Názvy firem sjednoť: odstraň rozdíly typu „s.r.o.“ vs „s. r. o.“,
   velikost písmen, překlepy — ale původní název zachovej ve sloupci
   nazev_puvodni
4. Najdi pravděpodobné duplicity (stejné IČO, podobný název + stejné
   město, stejný e-mail) a vypiš je jako PÁRY s mírou jistoty —
   nesluč nic sám, sloučení schvaluji po jednom
5. E-maily zkontroluj na zjevné překlepy domén; opravy jen navrhni
Vrať vyčištěnou tabulku a zvlášť seznam navržených sloučení.

Čištění: deduplikace a normalizace

Ze schválených vyčištěných dat vytvoř importní CSV soubory přesně podle
schématu CRM: companies.csv, contacts.csv, orders.csv, notes.csv
[schéma vložím z další fáze]. Pravidla:
- každý řádek objednávky se musí odkazovat na existující firmu; kde
  vazba chybí, dej řádek do souboru orders_nesparovane.csv, nic nehádej
- u kontaktů vyplň sloupec zdroj (mobil-marta, vizitky-veletrh-2026,
  export-fakturace...), ať vždycky víme, odkud záznam přišel
- prázdné hodnoty nech prázdné, žádné „neuvedeno“ ani vymyšlené údaje
Na závěr vypiš kontrolní součty: počet řádků v každém souboru a kolik
záznamů se cestou ztratilo a proč.

RLS politiky pro tři role, větu po větě

Vygeneruj SQL migrace pro CRM: tabulky companies, contacts, orders,
interactions, notes a profiles podle schématu, které jsme navrhli.
Pro každou tabulku zapni RLS a napiš politiky podle matice:
- select: všichni přihlášení
- insert a update: role obchod a admin
- delete: jen admin
- profiles: přihlášení jen čtou, zápis přes API nikdo
Ke každé politice napiš komentář, co přesně povoluje a komu. Pak mi
každou migraci vysvětli jako člověku, který SQL nečte denně — co se
stane, když ji spustím, a co by se stalo, kdybych ji nespustil.
Schvaluji každou migraci zvlášť, nic nespouštěj bez schválení.

Anon klíč, service role klíč a co nese JWT

Založ v testovacím projektu tři testovací účty: test-admin, test-obchod
a test-ctenar s odpovídajícími rolemi v profiles. Pak za každý účet
zkus provést všechny operace nad všemi tabulkami CRM: select, insert,
update, delete — a jednu operaci bez přihlášení s pouhým anon klíčem.
Vrať matici výsledků: řádky operace × tabulka, sloupce role, v buňce
povoleno/zamítnuto. Označ každou buňku, kde se výsledek liší od
zamýšlené matice oprávnění, a vysvětli proč. Testuj proti testovacímu
projektu se smyšlenými daty, ne proti ostrým.

Synchronizace: z CRM do Brevo, zpátky jen odhlášení

Napiš skript, který synchronizuje kontakty z našeho CRM v Supabase
do Brevo přes jeho API:
1. Vyber z contacts jen záznamy, kde newsletter_consent = true
   a unsubscribed_at je prázdné — nikoho jiného do Brevo neposílej
2. Zařaď je do listu podle kategorie firmy [velkoobchod / koncoví]
   a naplň atributy JMENO, MESTO, KATEGORIE
3. Kontakty, které v Brevo jsou, ale podmínku už nesplňují, z listů
   odeber (neodstraňuj z Brevo účtu, jen z listů)
4. API klíč Brevo čti z proměnné prostředí, v kódu nesmí být
5. Skript má režim dry-run: vypíše, co by udělal, bez zápisu
Napiš i stručný návod, jak skript spouštět, a co znamená každý řádek
výstupu. První spuštění uděláme spolu v dry-run režimu.

Synchronizace: z CRM do Brevo, zpátky jen odhlášení

Nastav zpětný tok odhlášení z Brevo do CRM:
1. Vytvoř v projektu serverový endpoint, který přijme webhook Brevo
   o odhlášení a nedoručitelné adrese (hard bounce)
2. Endpoint najde kontakt podle e-mailu a nastaví unsubscribed_at
   na čas události; když kontakt nenajde, událost zaloguj, nemaž ji
3. Zápis do databáze udělej přes service role klíč — endpoint běží
   na serveru; vysvětli mi, proč tady anon klíč nestačí
4. Endpoint zabezpeč ověřením, že požadavek opravdu přišel z Brevo
Ukaž mi kód a vysvětli ho po blocích, než ho nasadíme.

Právo na výmaz: proces, ne tlačítko

Navrhni proces „právo na výmaz“ pro naše CRM a Brevo:
1. Podle e-mailu nebo jména najdi všechna místa, kde osoba figuruje:
   contacts, notes, interactions, listy a kontakty v Brevo
2. Vypiš, co navrhuje smazat, co anonymizovat (objednávky firmy
   zůstávají — jsou to obchodní záznamy, ale bez vazby na osobu)
   a co musíme ze zákona podržet — u toho uveď důvod
3. Nic nemaž; výstupem je protokol návrhu, který schválím, a teprve
   pak vygeneruj konkrétní SQL a kroky v Brevo
4. Na konec přidej záznam o vyřízení žádosti s datem — ten si
   archivujeme mimo CRM
Mazání je nevratné, proto každý krok schvaluji jednotlivě.

Fáze 4: co to bude stát — poctivá rozvaha

Pomoz mi s rozvahou nákladů na vlastní CRM. Naše čísla: [6] uživatelů,
[cca 80] firem a [500] kontaktů v databázi, newsletter [1× měsíčně
na 80 adres, výhledově 2 000 koncových zákazníků], databáze dnes
[pod 1 GB]. Vyhledej AKTUÁLNÍ ceníky a podmínky free tierů Supabase,
Vercel a Brevo (cituj zdroje s datem) a odpověz:
1. Jak dlouho nám vydrží free tiery a na který limit narazíme první
2. Co přesně získáme prvním placeným tarifem u každé služby
3. Srovnej roční náklad téhle skladby s [hotové CRM, které zvažujeme]
   při našem počtu uživatelů
4. Které limity se od tvých tréninkových dat mohly změnit — označ,
   co jsi ověřil ve zdrojích a co ne
Bez marketingových formulací, jen čísla a zdroje.

Založení projektu a migrace

Zakládáme Supabase projekt pro interní CRM. Postupuj po krocích
a před každým čekej na schválení:
1. Projekt založ v EU regionu [Frankfurt] — v databázi budou osobní
   údaje zákazníků a chceme evropskou jurisdikci
2. Aplikuj postupně schválené migrace: schéma tabulek, profiles
   s rolemi, RLS politiky, newsletter sloupce — v tomhle pořadí,
   po každé migraci vypiš stav (které tabulky existují, kde je
   zapnuté RLS)
3. Ulož migrace jako soubory do gitu, ať má schéma historii
4. Na závěr spusť kontrolu: vypiš každou tabulku bez zapnutého RLS
   a každou tabulku bez politik — obě čísla musí být nula
Anon klíč a URL projektu mi vypiš, service role klíč nikam nevypisuj
— nastavíme ho rovnou jako proměnnou prostředí.

Aplikace: interní tabulkové UI, žádný design

Postav jednoduchou interní aplikaci nad naším Supabase CRM (Next.js):
1. Přihlášení přes Supabase Auth (e-mail + heslo i magic link);
   bez přihlášení se nezobrazuje vůbec nic, ani seznam firem
2. Stránka Firmy: tabulka s vyhledáváním podle názvu a filtrem podle
   kategorie; klik vede na detail firmy
3. Detail firmy: kontakty, objednávky seřazené od nejnovější, poznámky
   a interakce s formulářem pro přidání nové poznámky
4. Formuláře zobrazuj podle role z profiles: čtenáři needitovatelné
   — ale připomeň v kódu komentářem, že skutečné vymáhání dělá RLS
5. Žádný designový systém, stačí čitelná tabulka a formuláře;
   mobilní zobrazení ať je použitelné, obchodník bude v terénu
Postupuj po stránkách, každou mi ukaž, než začneš další.

Nasazení: zamčené od první minuty

Nasaď CRM na Vercel s tímhle bezpečnostním checklistem:
1. Service role klíč a další tajemství jen jako serverové proměnné
   prostředí; zkontroluj, že žádná proměnná s tajemstvím nemá prefix,
   který ji pošle do prohlížeče
2. Ověř, že žádná stránka ani API endpoint nejsou dostupné bez
   přihlášení — projdi všechny cesty a vypiš u každé, čím je krytá
3. Zapni ochranu preview nasazení, ať rozpracované verze nevidí
   nikdo nepřihlášený
4. Zkus otevřít aplikaci v anonymním okně a vypiš, co je vidět —
   správná odpověď je jen přihlašovací stránka
Vrať checklist s výsledkem každého bodu, ne jen „hotovo“.

Import dat: potřetí a naposledy kontrolní součty

Naimportuj vyčištěná data z fáze 1 (companies.csv, contacts.csv,
orders.csv, notes.csv) do produkční databáze:
1. Nejdřív dry-run: vypiš, kolik řádků by se vložilo do každé tabulky,
   kolik by se odmítlo a proč (chybějící vazby, duplicitní IČO)
2. Po mém schválení proveď import přes serverový skript se service
   role klíčem a vypiš finální počty
3. Porovnej počty se zdrojovými CSV: každý rozdíl vysvětli konkrétně,
   žádné „pár řádků se nevešlo“
4. Nakonec namátkou vypiš 10 firem s kontakty a posledními
   objednávkami — projdu je proti původním podkladům ručně
Import se nesmí spouštět dvakrát: navrhni pojistku proti duplicitnímu
spuštění a vysvětli mi ji.

První pohledy: ať se CRM zaplatí první týden

Založ v CRM pohledy spici_odberatele a nejvetsi_zakaznici podle
návrhu a přidej do aplikace stránku Přehled, která je zobrazuje.
U spících odběratelů přidej u každé firmy odkaz na její detail
a tlačítko „založit poznámku o kontaktu“. Vysvětli mi, jak pohledy
respektují RLS (security_invoker) a ověř to testem za roli ctenar.
Hranici 42 dní udělej konfigurovatelnou na jednom místě, ne
rozkopírovanou v kódu.

Všechny prompty