NestJS ボイラープレートを使用した迅速なプロジェクトの開始
NestJS ボイラープレートは、従来の REST API アプローチを使用してプロジェクトを迅速に開始するために必要なすべてのライブラリと認証、メールなどのソリューションを含むプロジェクトです。
2020 年 8 月に作成された現在、Github には 700 を超える星があり、機能の開発を支援する非常に大きなコミュニティがあります。
モチベーション
私はアウトソーシング会社 Brocoders で働いており、新しいプロジェクトをゼロから始めることがよくあります。 NestJS は Node.js の人気のあるフレームワークであり、広く使用されています。 ただし、データベースの構成、移行、シード、メール送信、サインイン、サインアップ、翻訳、ファイルのアップロードなどを含む、毎回ゼロからプロジェクトをセットアップするのは時間がかかる場合があります。
この問題を解決するために、事前に構成された基本機能を備えた NestJS REST API ボイラープレートを作成し、アプリのセットアップ時間を 1 か月からわずか数時間に短縮しました。
独自のボイラープレートを開始した時点では、すぐに使用できる優れた代替案がなかったため、独自のソリューションを開発することにしました。これは、最終的に他の企業でも非常に人気がありました。
モジュールと機能
クライアントから常にリクエストされる最も人気のあるモジュールを配置し、ボイラープレートにまとめます。 最終的に、ボックスに含まれる機能のリストが表示されます。
- データベース (PostgreSQL、TypeORM)。
- 種子(テストデータ)
- 構成サービス (@nestjs/config)。
- メーリング (nodemailer、u/nestjs-modules/mailer)。
- サインインしてメールでサインアップする
- パスワードをお忘れですか
- ソーシャル サインイン (Apple、Facebook、Google、Twitter)
- 管理者とユーザーの役割
- シリアル化
- 翻訳 I18N (nestjs-i18n)
- ファイルのアップロード。 ローカルおよび Amazon S3 ドライバーをサポート
- API ドキュメントの Swagger
- E2E と単体テスト
- ドッカー
- CI (Github アクション)
クイックスタート
新しいプロジェクトを開始するには、基本的な手順に従うだけです。
- リポジトリのクローン
git clone --depth 1 https://github.com/brocoders/nestjs-boilerplate.git my-app
- フォルダーに移動し、env-example を .env としてコピーします。
cd my-app/ cp env-example .env
- DATABASE_HOST=postgres を DATABASE_HOST=localhost に変更します。 MAIL_HOST=maildev を MAIL_HOST=localhost に変更します
- 追加のコンテナーを実行します。
docker compose up -d postgres adminer maildev redis
- 依存関係をインストールする
npm install
- 移行を実行する
npm run migration:run
- ランシード
npm run seed:run
- アプリを開発モードで実行する
npm run start:dev
- http://localhost:3000 を開く
まとめ
プロジェクトをより速く開始したい場合は、NestJS REST API ボイラープレートを試すことができます。 それは非常にシンプルで、当社がサポートしており、よく書かれています (私は願っています :-) )
現在の主な計画は、ドキュメントを改善し、すべての依存関係を最新の状態に保つことです。 また、他のアイデアをお持ちの方やコントリビューターになりたい方がいらっしゃいましたら、新しいお友達との出会いやプル リクエストの受け入れをいつでもお待ちしております。
主な開発者への完全なクレジット: Vlad Shchepotin 🇺🇦
Discussion