For instruction, please visit:
Node.js CRUD Rest APIs with Express, Sequelize & PostgreSQL example
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/tutorialsget all Tutorials
- GET api/tutorials/:idget Tutorial by id
- POST api/tutorialsadd new Tutorial
- PUT api/tutorials/:idupdate Tutorial by id
- DELETE api/tutorials/:idremove Tutorial by id
- DELETE api/tutorialsremove all Tutorials
- GET api/tutorials/publishedfind all published Tutorials
- GET api/tutorials?title=[kw]find all Tutorials which title contains 'kw'
Front-end that works well with this Back-end
Angular 8 / Angular 10 / Angular 11 / Angular 12 / Angular 13 / Angular 14 / Angular 15 / Angular 16 / Angular 17
This is our Node.js PostgreSQL CRUD example using Express & Sequelize application demo, test Rest Apis with Postman.
Node.js PostgreSQL CRUD example Github
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 /tutorialsApi
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 /tutorialsApi
node-js-postgresql-crud-example-retrieve-all
- Retrieve a single Tutorial by id using GET /tutorials/:idApi
node-js-postgresql-crud-example-retrieve-one
- Update a Tutorial using PUT /tutorials/:idApi
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/publishedApi
node-js-postgresql-crud-example-search-status
- Delete a Tutorial using DELETE /tutorials/:idApi
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 /tutorialsApi
node-js-postgresql-crud-example-delete-all
Now there are no rows in tutorials table:
 id | title | description | published | createdAt | updatedAt
----+-------+-------------+-----------+-----------+-----------
More Practice:
Node.js Express File Upload with Google Cloud Storage example
Security:
Node.js JWT Authentication & Authorization with PostgreSQL example
Associations:
Fullstack:
Integration (run back-end & front-end on same server/port)
npm install
node server.js