ちょっと前に作ってみようと考案していた構成でToDoリスト用REST API作ってみた。(途中)
- TypeScript
- Nest.js
- @nestjs/passport
- @nestjs/swagger
- TypeORM
- Serverless Framework
- Jest
- API Gateway
- Lambda
- RDS Proxy
- RDS for MySQL
- Systems Manager Parameter Store
- CodePipeline + CodeBuild
https://6remhwzjw2.execute-api.ap-northeast-1.amazonaws.com/dev
- ToDoアイテムの要素
- タイトル
- 内容
- ステータス
- 検索
- タイトル
- 内容
- ステータス
- 登録
- 更新
- 削除
- ユーザごとにToDo操作可能、認証/認可
- テストコード
- 単体テスト
- カバレッジ
- E2Eテスト
- 単体テスト
- API仕様書
- http://localhost:3000/api/
- ファイル出力
Using sqlite3.
npm install
npm run start
# watch
npm run start:dev
# debug
npm run start:debug
# serverless-offline
npm run build && serverless offline
# unit tests
npm run test
# unit tests (watch)
npm run test:watch
# unit tests (debug)
npm run test:debug
# e2e tests
npm run test:e2e
# test coverage
npm run test:cov
# format
npm run format
# lint
npm run lint
- VPC
- Subnet
- Security Group
- RDS
- (RDS Proxy)
- CodePipeline
- CodeBuild(VPC)
- S3
以下を設定する。
Key | Comment |
---|---|
/dafujii/todo-rest-api-nest-sls/AUTH_SECRET |
JWT用のシークレットとなる適当な文字列 |
/dafujii/todo-rest-api-nest-sls/dev/DB_HOST |
接続先DBホスト名 |
/dafujii/todo-rest-api-nest-sls/dev/DB_USERNAME |
接続先DBユーザ名 |
/dafujii/todo-rest-api-nest-sls/dev/DB_PASSWORD |
接続先DBパスワード |
/dafujii/todo-rest-api-nest-sls/dev/DB_DATABASE |
接続先DBデータベース名 |
vpc
やdeploymentBucket
の項目を自身が用意したリソースに置き換える。