Files
Nodejs-express-orm-crud/README.md
2025-11-27 16:37:31 +01:00

2.5 KiB
Raw Blame History

Przykład MVC CRUD w Node.js + Express + SQLite + Sequelize

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 klientserwer (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
├── package.json
├── config/
│   └── database.js
├── models/
│   └── customer.js
├── controllers/
│   └── customerController.js
├── routes/
│   └── customerRoutes.js
└── views/
    ├── layout.ejs
    ├── index.ejs
    ├── create.ejs
    ├── edit.ejs
    └── show.ejs

Instalacja

Po sklonowaniu repozytorium otwórz folder projektu w Visual Studio Code i w temrminalu:

npm install

npm start

Uruchomienie serwera

npm run start

http://localhost:3000