Vývojářský deník 1 - Dobrý Networking

Už to budou skoro dva týdny co jsem začal pracovat na aplikaci Dobrého Networkingu. Čas trávím hlavně studiem a anlýzou. Na začátku jsem se cítil docela ztracený. Chvíli mi trvalo, než jsem se ocitl trochu v obraze a dostal se do vývojářského módu. V poslední době pracuje hlavně na aplikacích, které jsou už ve vývoji a já nemusím dělat důležitá základní hodnocení. Už to je chvíli, kdy jsem přišel k něčemu, co je úplně na začátku.

Do projektu jsem přišel ve chvíli, kdy již bylo několik základních rozhodnutí uděláno a na nich jsem stavěl.

Stále posouvající se technologie

Hlavní technologie na kterých budeme stavět. Jako hlavní framework použijeme React.js a Next.js, který je postavený na Reactu. Next.js nám zajistí backend funkcionalitu, kterou potřebuje a do budoucna zajistí rychlé fungování aplikace díky možnosti serverového renderování komponent. Pro databázi budeme používat Mongo Databázi. Volba technologií je pro mě ideální. S Reactem mám sice slušné zkušenosti, ale tam moje znalost končí. Takže se těším na prozkoumávání vod s Next.js a MongoDB.

Začátky s položenými základy

Po prozkoumání UX a rozpracovaných UI obrázků jsem si udělal slušný přehled o tom co aplikace má umět a pustil jsem se do práce.

První jsem prošel již napsaný kód. Hotové je založení akce, s api, prvním databázovým schématem a UX obrazovkou. Tahle část je docela přímočará a i když jsem se ji ještě neprošel detailně, tak myslím, že tam se nebude moc věcí měnit.

Druhá větší část je přihlašování uživatelů. K tomu je již kód také napsaný. Budeme mít několik možností přihlášení. Dnes již standardní přihlašování přes Google a přes téměř přes všechny sociální sítě, na které si dokážu vzpomenout. Druhý způsob je přihlášením magickým linkem na email. Ani jedem způsob přihlašování jsem nikdy nedělal. Doufám, že to bude jednodušší než klasické ověřování jména a hesla. Konceptuálně doufám, že jen odešlu požadavek na příslušný link, veškerá magie se stane mimo mě a pak se mi vrátí ověřený uživatel a jen si do uložím, že je teď uložený. Aktuálně nemám potuchy, jak ten kód funguje.

Když nevíš, kde začít je nejlepší začít na začátku

První jsem se pustil do práce na databázi. Zkušenému architektovi by možná nebylo schéma potřeba, ale já se do něj pustil. Zvolil jsem nástroj dbdiagram.io. Je super v tom, že napíšu textové schéma a program ho na za mě nakreslí. Teda problém je v tom, že ve free verzi mají ostatní uživatelé přístup jen pro zobrazení a už se mi stalo, že se mi z mého účtu diagram ztratil. S pomocí ChatGPT bylo vytváření modelu hračka. Teda chvíli mi trvalo, než jsem ho naučil formát, který potřebuji, ale po chvíli nám to šlo jako po másle. Kromě toho, že jsem nemusel vypisovat jednotlivé atributy, tak jsem Chat používal jako inteligentnější gumovou kachničku. Na to je fakt super. Schéma je v tuto chvíli hotové. Nic světoborného, ale jako reference point to stačí. Schéma je přístupné zde a jsem otevřený každé zpětné vazbě.

Po databázi jsem připravil routing pro aplikaci. V Next.js je vyřešený velmi elegantně, kdy routing odpovídá schématu složek a souborů v samotné aplikaci. Tímto způsobem se nemusím vracet na jedno nějaké místo v aplikaci, kam napsat adresu, kterou chci a pak k ní vytvářet funkce. Bojoval jsem se skutečností, že v Next.js aplikací jsou v dvě místa, která se starají o routing. Jedno ovládá frontend a linkování mezi obrazovkami a druhé řeší adresy k API. To mě zpočátku trochu motalo hlavu. Hodně k tomu přispěl i ChatGPT, kdy mi dokola tvrdil, že se soubory v frontend routingu nemusí jmenovat “page” a já mu stále opakoval, že v dokumentaci to je napsáno.

Toto je aktuální stav. O dalším progresu budu informovat za týden až dva.

Previous
Previous

Vývojářský deník 2 - Dobrý Networking