Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ko1103/nestjs-buf-example
NestJS and Buf showcase
https://github.com/ko1103/nestjs-buf-example
buf example nest nestjs node typescript
Last synced: about 2 months ago
JSON representation
NestJS and Buf showcase
- Host: GitHub
- URL: https://github.com/ko1103/nestjs-buf-example
- Owner: Ko1103
- License: mit
- Created: 2024-05-04T12:44:51.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-06T01:34:09.000Z (8 months ago)
- Last Synced: 2024-11-14T07:47:28.774Z (about 2 months ago)
- Topics: buf, example, nest, nestjs, node, typescript
- Language: TypeScript
- Homepage:
- Size: 182 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.japanese.md
- License: LICENSE
Awesome Lists containing this project
README
## Description
NestJS と Buf を使った protobuf のサーバ実装例です。
二つのツール
- NestJS
- Bufを使っています。
このリポジトリでは
- Buf の StyleGuide に沿った proto ファイルの作成
- proto ファイルを元に TypeScript の sdk を `src/proto`に生成
- NestJS で proto ファイルと TypeScript の sdk を使ってサーバを実装
- Dockerfile を使ってコンテナ化
- docker-compose を使って環境構築を行っています。
## Directory Structure
```
.
├── Dockerfile
├── README.md
├── docker-compose.yml
├── nest-cli.json
├── proto // proto ファイル
├── src
│ ├── posts // ユーザーの投稿リソース
│ ├── proto // proto ファイルによって生成された TypeScript の sdk
│ ├── users // ユーザーのリソース
│ │ ├── users.controller.ts
│ │ ├── users.module.ts
│ │ ├── users.service.ts
│ ├── app.module.ts
│ ├── main.ts
├── tsconfig.build.json
├── tsconfig.json
```## Requirements
- Docker
- Docker Compose
- Node.js v18## Installation
```bash
$ npm install
```## Running the app
proto ファイルから TypeScript の sdk を生成
```bash
$ npm run proto:gen
```NestJS サーバを起動
```bash
# development
$ npm run start# watch mode
$ npm run start:dev# production mode
$ npm run start:prod
```.proto ファイルに変更があった場合は、再度 sdk を生成してください。
## License
Nest is [MIT licensed](LICENSE).