Fully featured Repository Pattern with Typescript and native PostgreSQL driver

This page summarizes the projects mentioned and recommended in the original post on dev.to

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • repository-pattern-example

  • All source code can be found here. Also for fans of functional programming, which I am, I prepared my own version in folders/files with the prefix fp.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • node-pg-migrate

    Node.js database migration management for PostgreSQL

  • Why PG? For the clarity of the article to a large circle of developers, the entire explanation will be built by PostgreSQL and PG package. And in a real project, the database schema will change over time, and in order to be able to perform migrations, we will use Node PG migrate.

  • fastify

    Fast and low overhead web framework, for Node.js

  • I suggest to start explain how it is work in real project from main.ts file. For routing I like to use fastify. But for example we will use architecture with repositories > handlers layers. For real project you need to use repositories > services > handlers layers for easier code maintainability in future. All repository calls need to be proxied by services, no direct calls repositories in handlers must not be.

  • PostgreSQL

    PostgreSQL client for node.js.

  • Why PG? For the clarity of the article to a large circle of developers, the entire explanation will be built by PostgreSQL and PG package. And in a real project, the database schema will change over time, and in order to be able to perform migrations, we will use Node PG migrate.

  • Apache HBase

    Apache HBase

  • For this type of systems PostgreSQL not best solution, and for a number of reasons like lack of replication out of the box. And we strictly must not have Ā«Vendor lockĀ», and therefore also did not take modern SQL databases like Amazon Aurora. And end of the ends the choice was made in favor Cassandra, for this article where we will talking about low-lever implementation of Repository Pattern it is not important, in your case it can be any unpopular database like HBase for example.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Is the MERN stack still worth learning?

    4 projects | /r/webdev | 2 May 2023
  • What is the best way to connect react native mobile app with SQL server database?

    3 projects | /r/reactnative | 27 Jun 2022
  • Plv8: V8 Engine JavaScript Procedural Language Add-On for PostgreSQL

    1 project | news.ycombinator.com | 7 Jun 2024
  • Azure PostgreSQL, Entra ID Authentication and .NET

    1 project | dev.to | 2 Jun 2024
  • The evolution of Serverless Postgres

    1 project | dev.to | 30 May 2024