Csomagok, Függőségek
Az alábbi csomagokat/függőségeket használja a webalkalmazás:
resend
A Resend
egy modern, fejlesztőbarát email API szolgáltatás, amely lehetővé teszi az automatizált email küldést alkalmazásokból.
A Resend különösen népszerű modern web fejlesztési környezetekben, mint például Next.js
, React
vagy Node.js
projektek esetén, mivel modern API-ja és TypeScript támogatása miatt könnyen integrálható ezekbe a technológiákba.
A szolgáltatás támogatja a HTML és szöveges emailek küldését, sablonok kezelését, és részletes analitikát biztosít. Ingyenesen is használható (havi 1,000 emailig), fejlett spam védelemmel és magas kézbesítési aránnyal rendelkezik.
supabase
A Supabase
egy nyílt forráskódú Firebase
alternatíva. A Firebase funkcióit vállalati szintű nyílt forráskódú eszközökkel épül fel.
A Supabase egy hosztolt PostgreSQL
adatbázist kínál beépített hitelesítéssel és jogosultságkezeléssel. Automatikusan generált API-kat biztosít (REST
, GraphQL
, valós idejű előfizetések), támogatja az adatbázis- és Edge-függvényeket, fájltárolást, valamint AI és vektoralapú eszközöket. Mindezt egy könnyen kezelhető irányítópulton keresztül érheted el.
drizzle-orm
A Drizzle
egy modern TypeScript ORM. lightweight, tehát mindössze ~7,4 KB méretű csomag, valamint pontosan 0 függőséggel dolgozik.
A Drizzle támogat minden PostgreSQL
, MySQL
és SQLite
adatbázist, beleértve a szerver nélküli megoldásokat is, mint például a Vercel Postgres
és a Supabase
. Nincsenek felesleges extrák, nincsenek szerver nélküli adapterek - minden egyszerűen működik, már az első perctől kezdve.
uploadthing
Az UploadThing
egy könnyen használható szolgáltatás, amely lehetővé teszi, hogy fájlokat tölts fel a weboldaladra, és integrálja azokat a fullstack TypeScript alkalmazásodba. Lehetővé teszi fájlok, videók és képek feltöltését a weboldaladra, és a feltöltött fájlokat elérhetővé teszi a felhasználók számára.
Ingyenes lehetőségként a felhasználó képes feltölteni fájlokat 2 GB tárhelyig. Az UploadThing támogatja a feltöltött fájlok átnevezését, valamint a fájlokhoz tartozó metaadatok szerkesztését is.
zod
A Zod
egy TypeScript-központú séma deklarációs és validációs könyvtár. A „séma” kifejezést tág értelemben bármilyen adattípusra használjuk, az egyszerű szövegektől a bonyolult, egymásba ágyazott objektumokig.
A Zod célja, hogy a fejlesztők számára a lehető legkényelmesebb legyen, és megszüntesse az ismétlődő típusdefiníciókat. Egyszer kell megadnod egy validátort, és a Zod automatikusan kikövetkezteti a megfelelő TypeScript típust. Egyszerű típusokból könnyen építhetsz összetett adatstruktúrákat.
bcrypt.js
A bcryptjs
egy JavaScript könyvtár, amelyet jelszavak biztonságos hashelésére és ellenőrzésére használnak. A bcrypt
algoritmus egy lassú hash függvény, amely ellenálló a brute-force támadásokkal szemben.
Főbb tulajdonságai:
- Aszinkron és szinkron módszerek támogatása.
- Salt generálása, amely növeli a biztonságot.
- Jelszó ellenőrzése a hash alapján.
Ez a csomag különösen hasznos Node.js
alapú alkalmazások számára, ahol jelszavak biztonságos tárolására van szükség.
date-fns
A date-fns
egy modern JavaScript dátumkezelő könyvtár, amely a legátfogóbb, mégis egyszerű és következetes eszközkészletet nyújtja a JavaScript dátumok böngészőben és Node.js
-ben történő manipulálásához.
A date-fns könnyen használható API-val rendelkezik, amely lehetővé teszi a dátumok gyors formázását, számítását, összehasonlítását és manipulálását anélkül, hogy túlzottan bonyolult vagy nehezen érthető lenne.
Az egyik legnagyobb előnye, hogy a függvények különálló modulokban érhetők el, így csak a szükséges funkcionalitásokat importálhatjuk, csökkentve a projekt méretét és növelve a teljesítményt. Ezen kívül rendkívül jól dokumentált, és széles körű közösségi támogatással rendelkezik, így kezdők és haladók számára egyaránt ideális választás.
dndkit
A @dnd-kit
egy modern, nyílt forráskódú React drag and drop könyvtár, amely kifejezetten a jó teljesítményre és a hordozhatóságra összpontosít. Íme egy átfogó leírás a könyvtárról és a useDraggable hook használatáról:
A @dnd-kit
fő jellemzői:
- Teljesítmény-orientált: Minimális újrarenderelés és optimalizált műveletkezelés.
- Hordozható: Támogatja az egér, billentyűzet és érintőképernyős interakciókat is.
- Akadálymentesség: Beépített ARIA támogatással rendelkezik, így az alkalmazás akadálymentes marad.