From 833881e5a4994489c3667e639299df7c69931f3a Mon Sep 17 00:00:00 2001 From: Leszek Klich Date: Thu, 27 Nov 2025 16:37:31 +0100 Subject: [PATCH] README --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 58ab19d..d0f3e53 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,23 @@ Przykład aplikacji CRUD w NodeJS, framework Express i ORM +Połączenie Node.js + Express + SQLite + Sequelize tworzy kompletny, lekki stos technologiczny do budowy aplikacji sieciowych z bazą danych w jednym pliku. Każdy z elementów pełni odmienną funkcję w architekturze systemu. + +Node.js to środowisko wykonawcze JavaScript działające po stronie serwera, oparte na asynchronicznym modelu zdarzeniowym i bibliotece libuv. Obsługa wejścia/wyjścia jest nieblokująca, co umożliwia efektywne skalowanie przy wielu jednoczesnych połączeniach. Mechanizm event loop minimalizuje koszt przełączania kontekstu w porównaniu z podejściem wielowątkowym. + +Express to minimalistyczny framework HTTP dla Node.js, zapewniający: routing i obsługę tras REST API, middleware do przetwarzania zapytań, wsparcie dla szablonów widoków, sesji, statycznych plików. Express działa jako warstwa logiki biznesowej i komunikacji z klientem, pozostawiając architekturę aplikacji w gestii programisty. + +SQLite - to lekka relacyjna baza danych zapisywana w jednym pliku. Cechy charakterystyczne: brak modelu klient–serwer (biblioteka wbudowana w aplikację), transakcyjność zgodna z ACID, wsparcie SQL-92. Idealna do aplikacji lokalnych, IoT, prototypów oraz środowisk z ograniczonymi zasobami obliczeniowymi. + +Sequelize - to ORM (Object-Relational Mapping) dla Node.js, integrujący różne silniki SQL, w tym SQLite. Zapewnia: deklaratywne definiowanie modeli danych, walidację i mapowanie obiektów na rekordy, migracje schematu bazy, abstrakcję nad zapytaniami SQL (metody vs. surowe SQL). + +- Logika serwera: Node.js + Express ROLA: Obsługa żądań HTTP, przepływu danych +- Warstwa persystencji SQLite ROLA: Trwałe przechowywanie danych SQL +- Mapowanie obiektowo-relacyjne Sequelize ROLA: Łączy kod aplikacji z bazą danych + + ## Struktura katalogów + ``` my-app/ ├── app.js