Node Js Postgresql Crud Example Save

Node.js PostgreSQL CRUD example with Express Rest APIs

Project README

Node.js PostgreSQL CRUD example with Express Rest APIs

Full Article with implementation:

Node.js PostgreSQL CRUD example with Express Rest APIs

We will build Rest Apis that can create, retrieve, update, delete and find Tutorials by title.

The following table shows overview of the Rest APIs that will be exported:

  • GET api/tutorials get all Tutorials
  • GET api/tutorials/:id get Tutorial by id
  • POST api/tutorials add new Tutorial
  • PUT api/tutorials/:id update Tutorial by id
  • DELETE api/tutorials/:id remove Tutorial by id
  • DELETE api/tutorials remove all Tutorials
  • GET api/tutorials/published find all published Tutorials
  • GET api/tutorials?title=[kw] find all Tutorials which title contains 'kw'

Front-end that works well with this Back-end

Axios Client

Angular 8 / Angular 10 / Angular 11 / Angular 12 / Angular 13 / Angular 14 / Angular 15 / Angular 16

Vue 2 Client / Vue 3 Client / Vuetify Client

React Client / React Redux Client

Demo Video

This is our Node.js PostgreSQL CRUD example using Express & Sequelize application demo, test Rest Apis with Postman.

Node.js PostgreSQL CRUD example Github

Test the APIs

Run our Node.js application with command: node server.js.

Using Postman, we're gonna test all the Apis above.

  • Create a new Tutorial using POST /tutorials Api

node-js-postgresql-crud-example-create

After creating some new Tutorials, you can check PostgreSQL table:

 id |    title    |    description    | published |         createdAt          |         updatedAt
----+-------------+-------------------+-----------+----------------------------+----------------------------
  1 | Node Tut #1 | Tut#1 Description | f         | 2020-01-29 10:42:57.121+07 | 2020-01-29 10:42:57.121+07
  2 | Node Tut #2 | Tut#2 Description | f         | 2020-01-29 10:43:05.131+07 | 2020-01-29 10:43:05.131+07
  3 | Node Tut #3 | Tut#3 Description | f         | 2020-01-29 10:43:48.028+07 | 2020-01-29 10:43:48.028+07
  4 | Js Tut #4   | Tut#4 Desc        | f         | 2020-01-29 10:45:40.016+07 | 2020-01-29 10:45:40.016+07
  5 | Js Tut #5   | Tut#5 Desc        | f         | 2020-01-29 10:45:44.289+07 | 2020-01-29 10:45:44.289+07
  • Retrieve all Tutorials using GET /tutorials Api

node-js-postgresql-crud-example-retrieve-all

  • Retrieve a single Tutorial by id using GET /tutorials/:id Api

node-js-postgresql-crud-example-retrieve-one

  • Update a Tutorial using PUT /tutorials/:id Api

node-js-postgresql-crud-example-update

Check tutorials table after some rows were updated:

 id |     title      |    description    | published |         createdAt          |         updatedAt
----+----------------+-------------------+-----------+----------------------------+----------------------------
  1 | Node Tut #1    | Tut#1 Description | f         | 2020-01-29 10:42:57.121+07 | 2020-01-29 10:42:57.121+07
  3 | Node Tut #3    | Tut#3 Description | f         | 2020-01-29 10:43:48.028+07 | 2020-01-29 10:43:48.028+07
  2 | Node Js Tut #2 | Tut#2 Description | t         | 2020-01-29 10:43:05.131+07 | 2020-01-29 10:51:55.235+07
  4 | Js Tut #4      | Tut#4 Desc        | t         | 2020-01-29 10:45:40.016+07 | 2020-01-29 10:54:17.468+07
  5 | Js Tut #5      | Tut#5 Desc        | t         | 2020-01-29 10:45:44.289+07 | 2020-01-29 10:54:20.544+07
  • Find all Tutorials which title contains 'js': GET /tutorials?title=js

node-js-postgresql-crud-example-search

  • Find all published Tutorials using GET /tutorials/published Api

node-js-postgresql-crud-example-search-status

  • Delete a Tutorial using DELETE /tutorials/:id Api

node-js-postgresql-crud-example-delete-one

Tutorial with id=4 was removed from tutorials table:

 id |     title      |    description    | published |         createdAt          |         updatedAt
----+----------------+-------------------+-----------+----------------------------+----------------------------
  1 | Node Tut #1    | Tut#1 Description | f         | 2020-01-29 10:42:57.121+07 | 2020-01-29 10:42:57.121+07
  3 | Node Tut #3    | Tut#3 Description | f         | 2020-01-29 10:43:48.028+07 | 2020-01-29 10:43:48.028+07
  2 | Node Js Tut #2 | Tut#2 Description | t         | 2020-01-29 10:43:05.131+07 | 2020-01-29 10:51:55.235+07
  5 | Js Tut #5      | Tut#5 Desc        | t         | 2020-01-29 10:45:44.289+07 | 2020-01-29 10:54:20.544+07
  • Delete all Tutorials using DELETE /tutorials Api

node-js-postgresql-crud-example-delete-all

Now there are no rows in tutorials table:

 id | title | description | published | createdAt | updatedAt
----+-------+-------------+-----------+-----------+-----------

For more detail, please visit:

Node.js PostgreSQL CRUD example with Express Rest APIs

Node.js Express Pagination with PostgreSQL example

Security:

Node.js JWT Authentication & Authorization with PostgreSQL example

Associations:

Sequelize Associations: One-to-Many Relationship example

Sequelize Associations: Many-to-Many Relationship example

Fullstack:

Vue + Node.js + Express + PostgreSQL example

React + Node.js + Express + PostgreSQL example

Angular 8 + Node.js + Express + PostgreSQL example

Angular 10 + Node.js + Express + PostgreSQL example

Angular 11 + Node.js + Express + PostgreSQL example

Angular 12 + Node.js + Express + PostgreSQL example

Angular 13 + Node.js + Express + PostgreSQL example

Angular 14 + Node.js + Express + PostgreSQL example

Angular 15 + Node.js + Express + PostgreSQL example

Angular 16 + Node.js + Express + PostgreSQL example

Integration (run back-end & front-end on same server/port):

Integrate React with Node.js Restful Services

Integrate Angular with Node.js Restful Services

Integrate Vue with Node.js Restful Services

Project setup

npm install

Run

node server.js
Open Source Agenda is not affiliated with "Node Js Postgresql Crud Example" Project. README Source: bezkoder/node-js-postgresql-crud-example

Open Source Agenda Badge

Open Source Agenda Rating