Giter Club home page Giter Club logo

nestjs-base's Introduction

Nest Logo

Description

This is a basic project with Nest framework, along with neat source code organization and many pre-configured features and techniques.

Features and Techniques

  • Authentication (passport JWT)
  • Authorization (ACL)
  • Security
  • Emailing Queue (bull)
  • API Document (swagger)
  • File uploads. Support local and Amazon S3 drivers
  • Server static
  • Schedule with cronjobs
  • Check health
  • Caching (redis)
  • Cache manager (redis-commander)
  • Logging (winston)
  • CRUD
  • Pagination (nestjs-paginate)
  • Request Validation
  • Config Service
  • TypeORM
  • Migration and seeding
  • E2E and units tests
  • CI/CD

Getting Started

To start developing the project please check if you have these tools installed on your machine:

Installation

  1. Clone the repo
git clone https://github.com/hoojinguyen/nestjs-base
  1. Move into project
cd nestjs-base
  1. Install project dependencies
yarn
  1. Copy .env.example file as .env and fill it with your environment variables
cp .env.example .env
  1. Running with docker
  • Start development environment:
docker-compose -f docker-compose.dev.yml up -d

# or run script
# sh run.sh up-dev
  • Start development environment with debugger on vscode:
docker-compose -f docker-compose.debug.yml up -d

# or run script
# sh run.sh up-debug
  1. Stopping
docker-compose -f docker-compose.dev.yml up -d # dev env

docker-compose -f docker-compose.debug.yml up -d # debug env

# or run script
# sh run.sh down-dev || sh run.sh down-debug

Todo

  • Write API document with Swagger
  • Write units tests for every module
  • Switch the way authorization from ACL to RBAC
  • Switch Message queues from bull to RabbitMQ or Kafka
  • Create migration and seeding
  • Multiple databases
  • CI/CD
  • Deployment to product

License

This project is available under the MIT licensed. See LICENSE for more information.

nestjs-base's People

Contributors

hoojinguyen avatar

Stargazers

 avatar

Watchers

 avatar  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.