Pre firmy a vývojové tímy · Andrej Srna

Vývoj aplikácií s Prisma a PostgreSQL

Keď dáta musia držať spolu. Aj po ďalšej zmene.

Navrhnem dátový model a prepojím ho s API a administráciou. Pomôžem s novou aplikáciou aj rozvojom existujúcej: od vzťahov medzi údajmi po plán zmien, ktoré potrebujete dostať do prevádzky.

NÁVRH VÄZIEBIlustračný model
Projekt

Jeden spoločný kontext práce

1
má viac úloh
N
Úloha

Patrí ku konkrétnemu projektu

Pravidlo pred kódomÚloha nemá zostať
bez svojho projektu.
Syntetický príklad na vysvetlenie relácie 1 : N. Nie je to schéma Zdravej župy, klientsky kód ani snímka administrácie.

Nie iba nové obrazovky.
Pravidlá pod nimi.

Keď sa rovnaké údaje prepisujú na viacerých miestach alebo každá nová funkcia komplikuje existujúcu evidenciu, problém nemusí byť vo vzhľade. Najprv prejdem, čo aplikácia ukladá a ako s tým ľudia pracujú.

Pre návrh celého systému od používateľských úloh po nasadenie pozrite vývoj webových aplikácií na mieru. Technologický základ zvolíme podľa potrieb projektu.

Táto služba rieši dátovú a serverovú časť. Ak už API máte a potrebujete hlavne používateľské rozhranie, pozrite si frontend vývoj s React a Next.js. Pre bežný obsahový web môže byť vhodnejší WordPress než vlastná databázová aplikácia.

Od evidencie k použiteľnej aplikácii.

Dátový model, ktorý sedí práci

Pomenujeme, čo evidujete, ako údaje súvisia a čo nesmie vzniknúť duplicitne alebo zostať bez väzby. Navrhnem typy, relácie, obmedzenia a podľa spôsobu čítania aj indexy.

API s jasnými pravidlami

Vstupy overím na serveri a prístup obmedzím podľa oprávnení. Dohodneme chybové odpovede, stránkovanie a operácie, ktoré sa majú uložiť spoločne v transakcii.

Administrácia pre váš tím

Prehľad, detail a úprava záznamov podľa reálneho pracovného postupu. Dôležité sú aj prázdne stavy, chyby, potvrdenie zásahov a to, kto môže údaje meniť.

Verejné informácie.
Správa cez aplikáciu.

Next.js
Prisma
PostgreSQL

Na zdravazupa.sk sa stretáva verejný informačný web so správou oznamov v samostatnej administrácii.

Čo je na verejnom webe

Zdravá župa prezentuje zdravotnícke zariadenia a služby v kontexte Trnavského samosprávneho kraja. Návštevník sa dostane k ambulanciám, informáciám a dôležitým odkazom.

Čo potvrdzuje implementácia

Aplikácia v Next.js používa Prisma klienta s PostgreSQL adaptérom. Serverové API číta údaje z databázy a správa oznamov vyžaduje prihlásenie. Nejde iba o technológiu uvedenú v zozname závislostí.

Referencia sa týka informačného webu a správy oznamov, nie zdravotnej dokumentácie či nemocničného systému. Nezverejňujem interný dátový model, prístupy, infraštruktúru ani administráciu. Rozsiahle relácie a migračný postup na tejto stránke sú ponuka pre nové zadanie, nie tvrdenie o rozsahu tejto realizácie.

Pozrieť verejný web Zdravá župa ↗

Migrácia nie je
iba spustený príkaz.

  1. Zistiť východiskový stav

    Prejdem schému, históriu migrácií a závislosti aplikácie. Ujasníme, ktoré dáta a používateľské scenáre musia zostať zachované.

  2. Pripraviť zmenu a obnovu

    Dohodneme zálohu a overenie obnovy. Migráciu a prípadné doplnenie dát otestujem v oddelenom prostredí, nie pokusom nad ostrou databázou.

  3. Nasadiť v dohodnutých krokoch

    Poradie zmien databázy a aplikácie prispôsobíme kompatibilite. Určíme okno nasadenia, kontrolné body a postup pri chybe; deštruktívne zmeny vyžadujú osobitné schválenie.

  4. Overiť výsledok

    Skontrolujem dohodnuté dátové pravidlá, čítanie a zápis cez API aj prácu v administrácii. Prevádzka, monitoring a ďalšia údržba majú vlastný dohodnutý rozsah.

Pripojím sa k tímu.
Alebo zastreším celok.

Môžeme riešiť konkrétny modul, dátovú vrstvu existujúceho produktu alebo menšiu aplikáciu od návrhu po nasadenie. Vopred si rozdelíme zodpovednosti za kód, databázu, prístupy, testy a prevádzku.

Kompletný obchodný proces s platbami a dopravou ukazuje prípadová štúdia Next.js e-shopu. Vlastný pracovný postup nad externým poskytovateľom zas mailingové rozhranie na mieru. Tu je ťažiskom dátový model a serverová logika, nie ďalšia všeobecná ponuka frontendu.

Otázky k databázovému vývoju

Kedy má Prisma a PostgreSQL zmysel?

Keď aplikácia potrebuje vlastné dáta, väzby a pravidlá, ktoré hotový redakčný systém alebo tabuľka nepokrývajú. PostgreSQL ukladá dáta a stráži databázové obmedzenia; Prisma prepája dátový model s aplikačným kódom. Pri jednoduchej prezentácii môže byť takýto vývoj zbytočný.

Viete prevziať existujúcu aplikáciu?

Áno, najprv prejdem existujúcu schému, používanie Prisma klienta, migrácie a kritické používateľské scenáre. Potom navrhnem konkrétny zásah alebo postupný rozvoj. Prepis celej aplikácie nie je automaticky najlepšie riešenie.

Ako prebieha zmena databázy bez straty dát?

Zmenu najprv naplánujeme a overíme mimo produkcie. Súčasťou dohody je záloha, overenie obnovy, kontrola existujúcich dát, kompatibilita aplikácie a postup pri zlyhaní. Niektoré zmeny vyžadujú viac krokov alebo odstávku; nulové riziko ani nulový výpadok nesľubujem.

Je súčasťou aj API a administrácia?

Podľa dohodnutého rozsahu áno. Navrhnem serverové rozhranie, validáciu, oprávnenia a administráciu pre konkrétne úlohy tímu. Databáza sa nesprístupňuje priamo z prehliadača a samotná Prisma nenahrádza kontrolu prístupu.

Dokazuje referencia zdravotnícky informačný systém?

Nie. Zdravá župa je verejný informačný web s databázovo podporenou správou oznamov. Referencia potvrdzuje použitie Next.js, Prisma a PostgreSQL v tejto aplikácii, nie spracovanie zdravotnej dokumentácie, nemocničný systém alebo realizáciu každej služby uvedenej na tejto stránke.

Koľko stojí vývoj a čo potrebujete na úvod?

Stačí opis pracovného postupu, aktuálnych problémov a existujúceho technického prostredia. Rozsah, cenu a termín navrhnem po jeho prejdení; hosting, databázovú prevádzku a údržbu odlíšim od vývoja. Do prvého kontaktu neposielajte prístupy, osobné údaje ani produkčný export.

Ktorý pracovný postup
potrebujete dostať do aplikácie?

Opíšte cieľ, existujúce riešenie a čo dnes nefunguje. Na úvod nepotrebujem produkčnú databázu, prístupové údaje ani osobné dáta.

Máte projekt alebo otázku?

Ozvite sa. Priamo mne.

Zavolajte mi ↗+421 914 230 321 Napíšte mi ↗[email protected]

Alebo mi nechajte správu