https://github.com/hankaibo/dingding-nestjs
https://github.com/hankaibo/dingding-nestjs
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hankaibo/dingding-nestjs
- Owner: hankaibo
- License: mit
- Created: 2023-11-06T04:43:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-25T16:29:44.000Z (over 1 year ago)
- Last Synced: 2025-04-12T23:49:41.817Z (about 2 months ago)
- Language: TypeScript
- Size: 318 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# NestJS REST API boilerplate πΊπ¦

[](https://app.renovatebot.com/dashboard)## Description
NestJS REST API boilerplate for typical project
[Full documentation here](/docs/readme.md)
Demo:
Frontend (React, Next.js):
## Table of Contents
- [Features](#features)
- [Quick run](#quick-run)
- [Comfortable development](#comfortable-development)
- [Links](#links)
- [Automatic update of dependencies](#automatic-update-of-dependencies)
- [Database utils](#database-utils)
- [Tests](#tests)
- [Tests in Docker](#tests-in-docker)
- [Test benchmarking](#test-benchmarking)## Features
- [x] Database ([typeorm](https://www.npmjs.com/package/typeorm)).
- [x] Seeding.
- [x] Config Service ([@nestjs/config](https://www.npmjs.com/package/@nestjs/config)).
- [x] Mailing ([nodemailer](https://www.npmjs.com/package/nodemailer)).
- [x] Sign in and sign up via email.
- [x] Social sign in (Apple, Facebook, Google, Twitter).
- [x] Admin and User roles.
- [x] I18N ([nestjs-i18n](https://www.npmjs.com/package/nestjs-i18n)).
- [x] File uploads. Support local and Amazon S3 drivers.
- [x] Swagger.
- [x] E2E and units tests.
- [x] Docker.
- [x] CI (Github Actions).## Quick run
```bash
git clone --depth 1 https://github.com/brocoders/nestjs-boilerplate.git my-app
cd my-app/
cp env-example .env
docker compose up -d
```For check status run
```bash
docker compose logs
```## Comfortable development
```bash
git clone --depth 1 https://github.com/brocoders/nestjs-boilerplate.git my-app
cd my-app/
cp env-example .env
```Change `DATABASE_HOST=postgres` to `DATABASE_HOST=localhost`
Change `MAIL_HOST=maildev` to `MAIL_HOST=localhost`
Run additional container:
```bash
docker compose up -d postgres adminer maildev
``````bash
npm installnpm run migration:run
npm run seed:run
npm run start:dev
```## Links
- Swagger:
- Adminer (client for DB):
- Maildev:## Automatic update of dependencies
If you want to automatically update dependencies, you can connect [Renovate](https://github.com/marketplace/renovate) for your project.
## Database utils
Generate migration
```bash
npm run migration:generate -- src/database/migrations/CreateNameTable
```Run migration
```bash
npm run migration:run
```Revert migration
```bash
npm run migration:revert
```Drop all tables in database
```bash
npm run schema:drop
```Run seed
```bash
npm run seed:run
```## Tests
```bash
# unit tests
npm run test# e2e tests
npm run test:e2e
```## Tests in Docker
```bash
docker compose -f docker-compose.ci.yaml --env-file env-example -p ci up --build --exit-code-from api && docker compose -p ci rm -svf
```## Test benchmarking
```bash
docker run --rm jordi/ab -n 100 -c 100 -T application/json -H "Authorization: Bearer USER_TOKEN" -v 2 http://:3000/api/v1/users
```