Express.jsを使用してAPIを構築するためのスターターアプリケーション
付属:
リポジトリをクローンし、依存関係をインストールし、すぐに開始します。
$ git clone --depth=1 [email protected]:mesaugat/express-api-es6-starter.git <application-name>
$ cd <application-name>
$ rm -rf .git
$ yarn # or npm install
.env.exampleのコピーを.envとして作成し、アプリケーションの詳細とデータベース資格情報を更新します。次に、移行を実行し、データベースをシードします。
$ yarn migrate
$ yarn seed
最後に、アプリケーションを開始します。
$ yarn start:dev (For development)
$ NODE_ENV=production yarn start (For production)
http:// localhost:8848/api-docs/に移動して、インストールを確認します。
これらは、新しい移行と対応するシードファイルを作成するためのコマンドです。
$ yarn make:migration <name>
$ yarn make:seeder <name>
例、
$ yarn make:migration create_tags_table
$ yarn make:seeder 02_insert_tags
Docker-Composeを使用して、事前に構成されたPostgresデータベースコンテナを備えたスタックをすばやく表示します。データは短命であり、スタックが削除されるとコンテナが消えます。
Dockerの特定の構成は.env.dockerにあります
0.0.0.0 as $APP_HOST dockerネットワークインターフェイスでアプリを公開するスタックを持ち上げる、
$ docker-compose up
http:// localhost:8848/api-docs/に移動して、アプリケーションがDockerから実行されていることを確認します。
スタックを落とす、
$ docker-compose down
さまざまな段階で利用可能な複数のビルドターゲットがあります。これらの画像は、Kubernetes、AWS ECS、Fargate、GCP Cloud Runなどのさまざまなコンテナベースのクラウドインフラストラクチャでジョブを展開または実行するために使用できます。
制作画像の構築。
$ docker build --target=prod -t express-api-es6-starter:prod .開発のための画像の構築。
$ docker build --target=dev -t express-api-es6-starter:dev .移行および/またはロールバックを実行する画像を構築します。
# Docker image that runs migration and seeds.
$ docker build --target=migrate -t express-api-es6-starter:migrate .
# Docker image that rollbacks migrations.
$ docker build --target=migrate-rollback -t express-api-es6-starter:migrate-rollback .画像が構築されたら - 実行する必要があるのは、 .envファイルを提供することだけです。このような:
$ docker run -v " /path/to/your/.env:/app/.env " mesaugat/express-api-es6-starter:migrateMySQLドライバーを最初にインストールします。
$ yarn add mysql
.envファイルでこれらの行を更新します。
- DB_CLIENT='pg'
+ DB_CLIENT='mysql'
- DB_PORT='5432'
+ DB_PORT='3306'必要に応じて、PGドライバーを削除できます。
$ yarn remove pg
それだけです、あなたは転がす準備ができています。
テストを実行するには、個別のテストデータベースを作成する必要があります。 .envファイルを更新して、テストデータベースの接続を含めることを忘れないでください。
$ NODE_ENV=test yarn migrate
$ yarn test
カバレッジでテストを実行します。
$ yarn test:coverage
世界で最も高い地点は8848メートルだからです。
貢献と機能のリクエストについては、最初に問題を作成してください。
Express-API-ES6-StarterはMITライセンスを取得しています。