<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu" -->

---
title: JavaScript CRUD Rest API using Nodejs, Express,...
description: Learn how to create a CRUD rest API using Node.js, Express, Sequelize, Postgres, Docker, and Docker Compose. Dockerize the Node.js application and test the...
canonical: https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: JavaScript CRUD Rest API using Nodejs, Express, Sequelize, Postgres, Docker and Docker Compose | daily.dev
og:description: Learn how to create a CRUD rest API using Node.js, Express, Sequelize, Postgres, Docker, and Docker Compose. Dockerize the Node.js application and test the...
og:url: https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu
og:image: https://api.daily.dev/og/posts/T39IkLytU.png
og:image:alt: JavaScript CRUD Rest API using Nodejs, Express, Sequelize, Postgres, Docker and Docker Compose
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# JavaScript CRUD Rest API using Nodejs, Express, Sequelize, Postgres, Docker and Docker Compose

**[Community Picks](https://daily.dev/sources/community)** · [@francescociulla](https://daily.dev/francescociulla) · 6 min read · 141 upvotes · 49 comments

## Summary

Learn how to create a CRUD rest API using Node.js, Express, Sequelize, Postgres, Docker, and Docker Compose. Dockerize the Node.js application and test the APIs with Postman.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://dev.to/francescoxx/build-a-crud-rest-api-in-javascript-using-nodejs-express-postgres-docker-jkb>

## Community discussion

Top comments from developers on daily.dev.

**@francescociulla** · 4 upvotes

> thanks @pradumnasaraf

**@xnuxer2** · 2 upvotes

> i've been learning from you

**@francescociulla** · 2 upvotes

> this has been picked up using the community picks feature.

**@francescociulla** · 2 upvotes

> I got the Docker badge on DevTo 🐳🐳🐳 [![image](https://user-images.githubusercontent.com/18360871/219381854-3fd08651-56d0-4e5d-aa04-6288cced984c.png)](https://dev.to/francescoxx/build-a-crud-rest-api-in-javascript-using-nodejs-express-postgres-docker-jkb)

**@tomicriedel** · 2 upvotes

> That's a great article, thank you @pradumnasaraf for sharing and of course  @francescociulla for writing this article :)

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments
- [CNCF Unveils Schedule for KubeCon \+ CloudNativeCon Europe 2026](https://daily.dev/posts/cncf-unveils-schedule-for-kubecon-cloudnativecon-europe-2026-ikhcoa5cb) · CNCF · 2 upvotes · 0 comments
- [CNCF Debuts KubeCon \+ CloudNativeCon Japan 2026 Schedule](https://daily.dev/posts/cncf-debuts-kubecon-cloudnativecon-japan-2026-schedule-xp5pyudub) · CNCF · 1 upvotes · 0 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#nodejs](https://daily.dev/tags/nodejs), [#postgresql](https://daily.dev/tags/postgresql), [#express](https://daily.dev/tags/express)

[View this post on daily.dev](https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"JavaScript CRUD Rest API using Nodejs, Express, Sequelize, Postgres, Docker and Docker Compose","url":"https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu"},"datePublished":"2023-02-12T18:37:43.602Z","dateModified":"2024-04-09T16:29:20.374Z","description":"Learn how to create a CRUD rest API using Node.js, Express, Sequelize, Postgres, Docker, and Docker Compose. Dockerize the Node.js application and test the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/593c49ce73ddd124d9f23897f01482ed?_a=AQAEufR","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/593c49ce73ddd124d9f23897f01482ed?_a=AQAEufR","isAccessibleForFree":true,"articleSection":"Community Picks","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Person","name":"Francesco Ciulla","url":"https://daily.dev/francescociulla","image":"https://media.daily.dev/image/upload/f_auto/v1635325588/avatars/QgTYreBqt","description":"I'm a Computer Scientist, Speaker, DevRel at daily.dev. I teach Rust, Web Development, and Docker. ","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":22780}},"commentCount":49,"discussionUrl":"https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":141},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":49}],"keywords":"javascript,nodejs,postgresql,express","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Community Picks","item":"https://daily.dev/sources/community"},{"@type":"ListItem","position":3,"name":"JavaScript CRUD Rest API using Nodejs, Express, Sequelize, Postgres, Docker and Docker Compose"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/javascript-crud-rest-api-using-nodejs-express-sequelize-postgres-docker-and-docker-compose-t39iklytu","comment":[{"@type":"Comment","text":"thanks @pradumnasaraf","datePublished":"2023-02-12T22:14:29.318Z","url":"https://daily.dev/posts/T39IkLytU#c-GQmrquLBG","author":{"@type":"Person","name":"Francesco Ciulla","url":"https://daily.dev/francescociulla","image":"https://media.daily.dev/image/upload/f_auto/v1635325588/avatars/QgTYreBqt"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4}},{"@type":"Comment","text":"i’ve been learning from you","datePublished":"2023-02-20T11:37:29.933Z","url":"https://daily.dev/posts/T39IkLytU#c-SkDsm0K0g","author":{"@type":"Person","name":"Black","url":"https://daily.dev/xnuxer2","image":"https://media.daily.dev/image/upload/s--Kg8bPKcx--/f_auto/v1724844972/avatars/avatar_VrT9h6qUikBA7bh4J07a6"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"this has been picked up using the community picks feature.","datePublished":"2023-02-14T21:17:15.249Z","url":"https://daily.dev/posts/T39IkLytU#c-X7unOUitM","author":{"@type":"Person","name":"Francesco Ciulla","url":"https://daily.dev/francescociulla","image":"https://media.daily.dev/image/upload/f_auto/v1635325588/avatars/QgTYreBqt"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"I got the Docker badge on DevTo 🐳🐳🐳","datePublished":"2023-02-16T13:48:12.589Z","url":"https://daily.dev/posts/T39IkLytU#c-LkukF45Ww","author":{"@type":"Person","name":"Francesco Ciulla","url":"https://daily.dev/francescociulla","image":"https://media.daily.dev/image/upload/f_auto/v1635325588/avatars/QgTYreBqt"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"That’s a great article, thank you @pradumnasaraf for sharing and of course  @francescociulla for writing this article :)","datePublished":"2023-02-15T12:41:12.397Z","url":"https://daily.dev/posts/T39IkLytU#c-uTa3rSXGb","author":{"@type":"Person","name":"Tomic Riedel","url":"https://daily.dev/tomicriedel","image":"https://media.daily.dev/image/upload/f_auto/v1627821961/avatars/v9k3AtEF6"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}}]}
```

