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.
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 
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 
- Retrieve a single Tutorial by id using 
GET /tutorials/:idApi 
- Update a Tutorial using 
PUT /tutorials/:idApi 
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 
- Find all published Tutorials using 
GET /tutorials/publishedApi 
- Delete a Tutorial using 
DELETE /tutorials/:idApi 
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 
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








