{"id":16344155,"url":"https://github.com/nya1/rest-api-boilerplate","last_synced_at":"2025-03-16T15:30:52.134Z","repository":{"id":38771053,"uuid":"246662672","full_name":"nya1/rest-api-boilerplate","owner":"nya1","description":"Typescript-based REST API boilerplate with full integration tests","archived":false,"fork":false,"pushed_at":"2024-09-10T20:16:09.000Z","size":677,"stargazers_count":9,"open_issues_count":21,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-12T00:27:05.209Z","etag":null,"topics":["api","backend","boilerplate","eslint","express","integration-testing","jest","node","openapi","rest-api","skeleton","typescript","winston"],"latest_commit_sha":null,"homepage":"","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/nya1.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":"2020-03-11T19:31:30.000Z","updated_at":"2024-09-10T20:14:48.000Z","dependencies_parsed_at":"2024-09-10T22:44:17.131Z","dependency_job_id":"225641e8-7ef9-4a74-ac08-0d10df0be490","html_url":"https://github.com/nya1/rest-api-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nya1%2Frest-api-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nya1%2Frest-api-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nya1%2Frest-api-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nya1%2Frest-api-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nya1","download_url":"https://codeload.github.com/nya1/rest-api-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221665169,"owners_count":16860187,"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":["api","backend","boilerplate","eslint","express","integration-testing","jest","node","openapi","rest-api","skeleton","typescript","winston"],"created_at":"2024-10-11T00:27:04.128Z","updated_at":"2024-10-27T10:49:14.831Z","avatar_url":"https://github.com/nya1.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Template updated, visit https://github.com/nya1/ts-api-boilerplate\n\n---\n\n# TypeScript REST API Sample\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/nya1/rest-api-boilerplate/actions\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/nya1/rest-api-boilerplate/workflows/test%20\u0026%20build/badge.svg\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://david-dm.org/nya1/rest-api-boilerplate\" target=\"_blank\" \u003e\u003cimg src=\"https://david-dm.org/nya1/rest-api-boilerplate/status.svg\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://david-dm.org/nya1/rest-api-boilerplate?type=dev\" target=\"_blank\" \u003e\u003cimg src=\"https://david-dm.org/nya1/rest-api-boilerplate/dev-status.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nBasic rest api setup to quickly bootstrap a project based on TypeScript and popular \u0026 maintened modules.\n\n**Features**\n\n  * Use decorators to describe endpoints and middlewares (thanks to [routing-controllers](https://github.com/typestack/routing-controllers))\n  * Automatically create a OpenAPI v3 (swagger) file with minimal effort (based on decorators used - thanks to [routing-controllers-openapi](https://github.com/epiphone/routing-controllers-openapi))\n  * Jest for tests with code coverage (text summary and HTML)\n  * Unit and integration tests setup, integration tests can be run also against compiled JS server\n  * Dependency Injection via Inversify\n  * Linter setup (ESLint + Prettier)\n  * Configuration via TOML files (using [node-config](https://github.com/lorenwest/node-config))\n  * Automatically reloads the server if a file changes while developing\n  * Flexibile logging with winston\n  * Validate configuration before deployment against a json schema\n  * *Optional* deployment setup via Serverless (AWS) as a Lambda\n\n\nThe goal of this project is to provide a simple, easy to use base to build new rest apis.\n\n## Documentation\n\n * [Controllers, Middlewares, Services](src/README.md#request-response)\n * [Configuration](config/README.md)\n * [Development](src/README.md#development)\n * [Testing](test/README.md)\n * [Deployment](deploy/README.md)\n\n## Getting started\n\nClone this repository\n\n`git clone git@github.com:nya1/rest-api-boilerplate.git my-api-project`\n\nInstall\n\n`cd my-api-project \u0026\u0026 yarn install`\n\n---\n\nUsing the following modules\n\n * [routing-controllers](https://github.com/typestack/routing-controllers)\n\n   * Request / Response handling\n\n * [class-validator](https://github.com/typestack/class-validator)\n\n   * Validate request data\n\n * [class-transformer](https://github.com/typestack/class-transformer)\n\n   * For serialization / deserialization\n\n * [routing-controllers-openapi](https://github.com/epiphone/routing-controllers-openapi)\n  \n   * Allow to describe an OpenAPI spec file by using decorators\n\n * [winston](https://github.com/winstonjs/winston)\n  \n   * Logging\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnya1%2Frest-api-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnya1%2Frest-api-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnya1%2Frest-api-boilerplate/lists"}