Coder Social home page Coder Social logo

pg-promise-demo's Introduction

pg-promise-demo

This is an advanced demo of the best practices of using pg-promise, and managing your database architecture.

It shows how to organize an enterprise-level database application, with consideration for ever-growing complexity of the database and queries.

The demo focuses on the following:

  • The best way to organize your database module
  • Use of the Repository pattern for your database
  • Efficient use of queries via external SQL files
  • Query monitoring and error diagnostics

The demo includes two separate implementations, with identical functionality:

Each uses a basic HTTP service to let you quickly test db calls in a browser. Do not however reuse any of the HTTP-service code, it is over-simplified, for the test, not for you to copy. The demo focus is on the database layer only.

Installing & Running

You can either clone it or install via $ npm install pg-promise-demo.

This demo is here mostly for you to browse through its source code, understand its structure and the overall approach. It is also simple enough that running it isn't really necessary.

However, if you do want to run this application locally, you need to build and and run it according to the type of implementation that you are interested in. See details on the corresponding pages: JavaScript or TypeScript.

Once the application is up and running, you can fire away URL commands in a browser, as per the web API that's implemented, while watching what's happening in:

  • the console output (make sure you have NODE_ENV=development)
  • errors log - file db/errors.log

The application implements two tables: users->products as one-to-many. Once the app is running, you should create and populate those as the very first commands:

/users/create
/users/init
/products/create

After that see other supported API commands in the code:

/users/empty
/users/drop
/users/find/:id
/users/remove/:id
/users/all
/users/total

/products/drop
/products/empty
/products/add/:userId/:name
/products/find/:userId/:name
/products/remove/:id
/products/all
/products/total

pg-promise-demo's People

Contributors

vitaly-t avatar gj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.