Skip to content

I am lazy to create a project with NestJS and do the same thing over and over again, so I created this Starter Project to avoid repetition.

Notifications You must be signed in to change notification settings

qytela/nest-starter

Repository files navigation

Nest Logo

Supercharge Your Node.js Applications with Nest

A progressive Node.js framework for building efficient and scalable server-side applications.

Welcome to the Nest Starter Kit 🔥

GitHub last commit Production Ready Production Ready GitHub repo size

This is the Nest 10 Starter or Boilerplate to avoid the same things over and over again. 🚀

Table of Contents 📕

Requirements and Features

Requirements:

  • Node.js v16.x or higher: As of NestJS 10, we no longer support Node.js v12, as v12 went EOL on April 30, 2022. This means that NestJS 10 requires Node.js v16 or higher (migration guide).

Features:

  • Passport Authentication: 🔐 Secure your app with Passport authentication.
  • Sequelize ORM: 🎲 Interact with databases seamlessly using Sequelize ORM.
  • Sentry & Telegram Integration: 🚨 Keep an eye on your app's health with Sentry and stay notified via Telegram.
  • Custom Decorators: 🖋 Simplify your code with the Custom Decorators.
  • Fastify Adapter: ⚡ Optimize performance with Fastify Adapter (switch to Express anytime).
  • Commander: ⚙️ Harness the power of Commander for efficient command-line operations.

Documentation

See more documentation here. 📁

Getting Started is a Breeze!

Installation:

$ git clone https://github.com/qytela/nest-starter.git
$ cd nest-starter
$ yarn install

Setting up .env

$ cp .env.example .env

Nest Starter has Default Routes make you must to configure database first.

Generate App Key

$ node cmd generate:key --length <number>

This is required as an authentication secret, default length: 16

Migrations and Seeders

$ npx sequelize-cli db:migrate
$ npx sequelize-cli db:seed:all

This command requires sequelize-cli with npx, see more here.

Running the app

# development
$ yarn run start

# watch mode
$ yarn run start:dev

# production mode
$ yarn run start:prod

Default Routes

  • / (Default)

  • /auth/login (Authentication)

{
  "username": "admin",
  "password": "password"
}
  • /auth/register (Registration)
{
  "fullname": "Qytela",
  "username": "qytela",
  "password": "password",
  "email": "[email protected]"
}

Commander

Make life easier with commander. ⚙️

$ node cmd help
Usage: cmd [options] [command]

Options:
  -h, --help                         display help for command

Commands:
  generate:key|gk [options]          Generate app key
  generate:model|gmo [options]       Generate new model
  generate:migration|gmi [options]   Generate new migration
  generate:validation|gvl [options]  Generate new custom validator
  generate:resource|gr [options]     Generate new resource and collection
  help [command]                     display help for command

Cooming Soon

Here's a sneak peek at what's coming in the next releases 🔜:

  • Permissions
  • Storage: AWS S3, Local
  • Mailer
  • Social Login
  • Dockerize App
  • And Many More...

Feel free to open an issue, share your thoughts, or suggest new features. Your input helps this project become better. 🌟

License

Nest is MIT licensed.

About

I am lazy to create a project with NestJS and do the same thing over and over again, so I created this Starter Project to avoid repetition.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published