Návod · správa platformy
Správa platformy Krajšia obec / Krajšie mesto
Pre správcu platformy (platformová rola superadmin). Spravuje obce, objednávky, cenník a systém; nastavuje platby a nasadzuje aplikáciu na Plesk.
1. Výber obce a menu platformy

- Po prihlásení na /admin vidíte všetky obce (aj neaktívne) a sekciu Platforma: Obce a mestá, Objednávky, Cenník, Systém.
- Kliknutím na obec vstúpite do jej redakcie s plnými právami; v ľavom menu zostáva sekcia Platforma a tlačidlo Prepnúť obec.
2. Obce a mestá

- Tabuľka obcí: názov aplikácie, adresa /slug a vlastná doména, prevádzkovateľ obsahu, stav (čaká / aktívna / pozastavená / archivovaná) a odkazy do redakcie a na verejnú aplikáciu.
- Stav meníte priamo v tabuľke: aktívna sprístupní verejnú aplikáciu, pozastavená ju skryje (redakcia ostáva), zmena sa prejaví do 30 sekúnd.
- Doména: vlastnú doménu obce zadajte tu a do premennej
DOMAIN_ALIASES(napr.krajsiekalinkovo.sk=kalinkovo); doménu pridajte v Plesku ako alias. - Nová obec ručne (bez objednávky): typ, názov, slug, okres, prevádzkovateľ, stred mapy. Potom v redakcii obce založte účet redakcie v Používatelia.
4. Cenník

- Balíky: kľúč, názov, cena za mesiac a rok (EUR bez DPH), zriaďovací poplatok, vlastnosti (riadok = odrážka), limit účtov, poradie, odporúčaný, aktívny.
- Uložením sa z balíka odstráni označenie [DEMO]. Neaktívne balíky sa na webe nezobrazujú; existujúce predplatné sa nemení.
- Zmena ceny platí pre nové objednávky a pre obnovy od ďalšieho obdobia.
5. Systém a joby

- Verzia aplikácie, stav push (VAPID), e-mailu, mapy a 2FA, počty jobov podľa stavu, dead-letter joby s tlačidlom Zopakovať, posledné retenčné behy, otvorené hlásenia obsahu.
- Worker alebo cron musí bežať každú minútu (
npm run jobs -- tickalebo/api/v1/cron/ticksX-Cron-Secret): publikuje naplánované oznamy, odosiela push a e-maily, raz za hodinu skúša obnovy predplatného. Denne:retention.
6. Nastavenie Stripe (test → ostrá prevádzka)
- Zdieľaný Stripe účet (DAKA Rental s. r. o.): vytvorte obmedzený kľúč „krajsiaobec“ (Write: Checkout Sessions, PaymentIntents, Customers, Refunds, Customer portal; Read: Charges, PaymentMethods) a webhook na
https://krajsiaobec.sk/api/v1/payments/webhooks udalosťami checkout.session.*, charge.refunded, charge.dispute.created. - Do prostredia (Plesk env aj
.env):PAYMENT_PROVIDER=stripe,STRIPE_SECRET_KEY(rk_test_…),STRIPE_WEBHOOK_SECRET(whsec_…),STRIPE_STATEMENT_SUFFIX=KRAJSIAOBEC, údaje predávajúcehoSELLER_*,PAYMENTS_LIVE_ENABLED=false. Restart App. - Test: objednávka s kartou 4242 4242 4242 4242 → faktúra; karta 4000 0000 0000 0002 → zamietnutá; vo Stripe Webhooks doručenia 200.
- Ostrá prevádzka iba po výslovnom poverení vlastníka: Live kľúč a Live webhook, odstránenie testovacích dokladov,
PAYMENTS_LIVE_ENABLED=true, skúšobná platba skutočnou kartou a vrátenie. Bez povolenia aplikácia so živým kľúčom nenaštartuje.
7. Nasadenie na Plesk a prostredie
- Plesk → Git → Pull now → Node.js → NPM install → Run script db:migrate → Run script build → Restart App → Run script db:seed (doplní predvolené témy a kategórie, nič nemaže).
- Premenné prostredia sú v Plesk → Node.js → Environment variables a zároveň v
/httpdocs/.env(Run script ich z Plesku nevidí). Tajomstvá:SESSION_SECRET,TOKEN_PEPPER,FIELD_ENCRYPTION_KEY, VAPID kľúče,CRON_SECRET, Stripe. - Po nasadení skontrolujte
/api/v1/health/ready, verejnú stránku obce, manifest/nazov-obce/manifest.webmanifesta Systém v správe platformy.
8. Domény a značky

APP_URL=https://krajsiaobec.skje značka „Krajšia obec“,PLATFORM_URL_MESTO=https://krajsiemesto.skznačka „Krajšie mesto“ – rovnaká aplikácia a databáza, platformové stránky menia názov podľa domény.- Obe domény (aj www) pridajte v Plesku ako aliasy tej istej Node.js aplikácie s Let's Encrypt certifikátom a do
TRUSTED_ORIGINSdoplňte www varianty. - Vlastná doména obce (napr. krajsiekalinkovo.sk) sa cez
DOMAIN_ALIASESinterne prepíše na /kalinkovo.
