{"id":22089845,"url":"https://github.com/speakeasy-api/nestjs-openapi-example","last_synced_at":"2025-09-06T16:39:12.779Z","repository":{"id":261226720,"uuid":"881856979","full_name":"speakeasy-api/nestjs-openapi-example","owner":"speakeasy-api","description":"An example for generating OpenAPI from a NestJS app","archived":false,"fork":false,"pushed_at":"2024-11-05T11:19:22.000Z","size":147,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-28T20:12:12.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/speakeasy-api.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-01T11:44:43.000Z","updated_at":"2024-11-05T11:19:25.000Z","dependencies_parsed_at":"2024-11-05T12:57:02.943Z","dependency_job_id":null,"html_url":"https://github.com/speakeasy-api/nestjs-openapi-example","commit_stats":null,"previous_names":["speakeasy-api/nestjs-openapi-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fnestjs-openapi-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fnestjs-openapi-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fnestjs-openapi-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fnestjs-openapi-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/speakeasy-api","download_url":"https://codeload.github.com/speakeasy-api/nestjs-openapi-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236139498,"owners_count":19101141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-01T02:14:28.023Z","updated_at":"2025-09-06T16:39:12.752Z","avatar_url":"https://github.com/speakeasy-api.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n \u003ca href=\"https://www.speakeasy.com/\" target=\"_blank\"\u003e\r\n  \u003cimg width=\"1500\" height=\"500\" alt=\"Speakeasy\" src=\"https://github.com/user-attachments/assets/0e56055b-02a3-4476-9130-4be299e5a39c\" /\u003e\r\n \u003c/a\u003e\r\n \u003cbr /\u003e\r\n \u003cbr /\u003e\r\n  \u003cdiv\u003e\r\n   \u003ca href=\"https://speakeasy.com/docs/create-client-sdks/\" target=\"_blank\"\u003e\u003cb\u003eDocs Quickstart\u003c/b\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;//\u0026nbsp;\u0026nbsp;\u003ca href=\"https://go.speakeasy.com/slack\" target=\"_blank\"\u003e\u003cb\u003eJoin us on Slack\u003c/b\u003e\u003c/a\u003e\r\n  \u003c/div\u003e\r\n \u003cbr /\u003e\r\n\r\n\u003c/div\u003e\r\n\r\n\u003ch2\u003eSpeakeasy NestJS OpenAPI Example\u003c/h2\u003e\r\n\r\nThis example NestJS app demonstrates Speakeasy-recommended practices for generating clear OpenAPI specifications and SDKs.\r\n\r\nThis project was bootstrapped with [NestJS-CLI](https://docs.nestjs.com/cli/overview).\r\n\r\n## Prerequisites\r\n\r\nYou need to have Node.js version \u003e= 16 and the Nest CLI installed on your system to run this project. If you don't have these installed, you can download them from [here](https://nodejs.org/) and [here](https://github.com/nestjs/nest-cli).\r\n\r\nTo generate an SDK, you'll also need the Speakeasy CLI installed, or use the Speakeasy dashboard.\r\n\r\n## Installation\r\n\r\nTo install the application on your local machine:\r\n\r\n1. Clone the repository:\r\n```bash\r\ngit clone https://github.com/speakeasy-api/nestjs-openapi-example.git\r\n```\r\n\r\n2. Navigate into the directory:\r\n```bash\r\ncd speakeasy-nestjs-example\r\n```\r\n\r\n3. Install all dependencies for the application using NPM:\r\n```bash\r\nnpm install\r\n```\r\n\r\n4. [Install Speakeasy CLI](https://github.com/speakeasy-api/speakeasy#installation):\r\n```bash\r\nbrew install speakeasy-api/homebrew-tap/speakeasy\r\n```\r\n\r\n## Running the application for development\r\n\r\nYou can use the provided script to run the application in development mode. It will watch for any changes in the source code and automatically restart the server. \r\n\r\n\u003e Move the `sdk-typescript` folder to a new location outside this project before starting the dev server.\r\n\r\n```bash\r\nnpm run start:dev\r\n```\r\n\r\n### Creating an OpenAPI specification\r\n\r\nAn OpenAPI specification `openapi.yaml` file is generated in the root directory, using JS-YAML, when the development server is started.\r\n\r\n\r\n## Generating an SDK using Speakeasy\r\n\r\nTo generate a Speakeasy SDK run:\r\n\r\n```bash\r\nspeakeasy quickstart\r\n```\r\n\r\n## License\r\n\r\nThis project is licensed under the terms of the Apache 2.0 license.\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Fnestjs-openapi-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspeakeasy-api%2Fnestjs-openapi-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Fnestjs-openapi-example/lists"}