Skip to content

M2G/docker-node-ddd-graphql-postgre-concert

Repository files navigation

Docker, NodeJS, Typescript, DDD, PostgreSQL, Auth

GRAPHQL api with Domain Driven Design

Features

  • Docker
  • NodeJS (+14)
  • Typescript
  • PostgreSQL

Getting Started

Run in development:

$ npm run watch-debug

with docker:

$ docker-compose up -d

Run in production:

$ run.sh

or

$ npm run build
$ npm run serve

Run linter:

$ npm run tslint

Run tests:

$ npm run test

Tech

  • TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
  • Express - Node Framweork.
  • Awilix - dependency resolution support powered by Proxy.
  • Tcomb - s a library for Node.js and the browser which allows you to check the types of JavaScript values at runtime with a simple and concise syntax.
  • CORS - a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options.
  • Body-parser - Node.js body parsing middleware.
  • Http-status - Utility to interact with HTTP status code.
  • Winston - A multi-transport async logging library for node.js.
  • Sequelize - Sequelize is a modern TypeScript and Node.js ORM for Postgres and more.
  • Faker - generate massive amounts of fake data in the browser and node.js
  • Bcrypt - Lib to help you hash passwords
  • Passport - is Express-compatible authentication middleware for Node.js.
  • Passport-jwt - A Passport strategy for authenticating with a JSON Web Token.
  • Json Webtoken - An implementation of JSON Web Tokens.

Logging

  • winston - a multi-transport async logging library for Node.js. It is designed to be a simple and universal logging library with support for multiple transports. A transport is essentially a storage device for your logs. Each instance of a winston logger can have multiple transports configured at different levels. For example, one may want error logs to be stored in a persistent remote location (like a database), but all logs output to the console or a local file.
  • morgan - HTTP request logger middleware for Node.js. A helper that collects logs from your server, such as your request logs.

Tests

  • supertest - HTTP assertions made easy via superagent.

About

an API that returns concerts near you

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published