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

56 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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