Krajšia obecplatforma pre samosprávy

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

Výber obce po prihlásení správcu platformy a odkazy na správu platformy
  1. 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.
  2. 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á

Zoznam obcí so stavom, adresou, prevádzkovateľom a akciami
  1. 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.
  2. 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.
  3. Doména: vlastnú doménu obce zadajte tu a do premennej DOMAIN_ALIASES (napr. krajsiekalinkovo.sk=kalinkovo); doménu pridajte v Plesku ako alias.
  4. 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.

3. Objednávky a platby

Objednávky s kontaktom, balíkom, platbami, dokladmi a akciami
  1. Každá objednávka ukazuje obec, slug, balík a obdobie, kontakt (dešifrovaný iba tu), fakturačné údaje, správu, platby (stav, suma, vrátenia) a doklady.
  2. Zaplatená objednávka kartou je automaticky prijatá a obec založená v stave čaká. Stačí v redakcii obce založiť účet a obec aktivovať.
  3. Objednávka faktúrou: Prijať a založiť obec (zadáte prevádzkovateľa obsahu), potom faktúru pošlite mimo aplikácie alebo Poslať odkaz na platbu kartou – zákazník zaplatí cez stránku Platba objednávky.
  4. Vrátenie peňazí robte v Stripe dashboarde (Payments → Refund); aplikácia dostane webhook a vystaví dobropis automaticky. Reklamáciu (chargeback) oznámi e-mailom.

4. Cenník

Správa balíkov cenníka
  1. 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.
  2. 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í.
  3. Zmena ceny platí pre nové objednávky a pre obnovy od ďalšieho obdobia.

5. Systém a joby

Systém: verzia, stav push, e-mailu, 2FA, joby a retencia
  1. 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.
  2. Worker alebo cron musí bežať každú minútu (npm run jobs -- tick alebo /api/v1/cron/tick s X-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)

  1. 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/webhook s udalosťami checkout.session.*, charge.refunded, charge.dispute.created.
  2. 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úceho SELLER_*, PAYMENTS_LIVE_ENABLED=false. Restart App.
  3. Test: objednávka s kartou 4242 4242 4242 4242 → faktúra; karta 4000 0000 0000 0002 → zamietnutá; vo Stripe Webhooks doručenia 200.
  4. 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

  1. 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).
  2. 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.
  3. Po nasadení skontrolujte /api/v1/health/ready, verejnú stránku obce, manifest /nazov-obce/manifest.webmanifest a Systém v správe platformy.

8. Domény a značky

Platformová úvodná stránka so zoznamom obcí
  1. APP_URL=https://krajsiaobec.sk je značka „Krajšia obec“, PLATFORM_URL_MESTO=https://krajsiemesto.sk značka „Krajšie mesto“ – rovnaká aplikácia a databáza, platformové stránky menia názov podľa domény.
  2. 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_ORIGINS doplňte www varianty.
  3. Vlastná doména obce (napr. krajsiekalinkovo.sk) sa cez DOMAIN_ALIASES interne prepíše na /kalinkovo.