{"id":15813517,"url":"https://github.com/thim81/spec-driven-openapi-contract-performance-testing","last_synced_at":"2025-04-01T16:30:29.236Z","repository":{"id":220283237,"uuid":"743169647","full_name":"thim81/spec-driven-openapi-contract-performance-testing","owner":"thim81","description":"POC for Unlocking the Power of Spec-Driven API Development","archived":false,"fork":false,"pushed_at":"2024-10-21T11:54:51.000Z","size":24940,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-23T08:54:33.045Z","etag":null,"topics":["contract-testing","openapi","performance-testing","postman","rest-api"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thim81.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-14T14:46:08.000Z","updated_at":"2024-10-21T11:54:52.000Z","dependencies_parsed_at":"2024-10-22T09:07:56.653Z","dependency_job_id":null,"html_url":"https://github.com/thim81/spec-driven-openapi-contract-performance-testing","commit_stats":null,"previous_names":["thim81/spec-driven-openapi-contract-performance-testing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thim81%2Fspec-driven-openapi-contract-performance-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thim81%2Fspec-driven-openapi-contract-performance-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thim81%2Fspec-driven-openapi-contract-performance-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thim81%2Fspec-driven-openapi-contract-performance-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thim81","download_url":"https://codeload.github.com/thim81/spec-driven-openapi-contract-performance-testing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246620222,"owners_count":20806722,"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":["contract-testing","openapi","performance-testing","postman","rest-api"],"created_at":"2024-10-05T04:02:48.910Z","updated_at":"2025-04-01T16:30:27.025Z","avatar_url":"https://github.com/thim81.png","language":"PHP","readme":"### OpenAPI Spec-driven concept\n\n\u003e Congrats, you just launched 🚀 an API! And next the questions are pouring in: Where are the docs? How many requests per minute can it handle? Which fields are required? How to test the API? 🤔\n\nThis repo contains a proof-of-concept used during a presentation about \"Unlocking the Power of Spec-Driven API Development\", for the Meetup: https://www.meetup.com/php-limburg-be/events/298068752/\n![spec-driven-diagram.png](img/spec-driven-diagram.png)\n\nIt provides a working Marvel API, which is used to demonstrate all the steps \u0026 benefits of Spec-Driven API Development.\n\nThe outcome of this proof-of-concept is a working API, with a full set of documentation, tests, mock server, performance tests, client SDKs, ...\n\n![spec-driven-workflow.png](img/spec-driven-workflow.png)\n\nThe meetup is recorded and can be watched on Youtube:\nhttps://www.youtube.com/watch?v=YXRstde1SeA\u0026t=198s\n\n\u003ca href=\"https://www.youtube.com/watch?v=YXRstde1SeA\u0026t=198s\"\u003e![spec-driven-youtube.png](img/spec-driven-youtube.png)\u003c/a\u003e\n\n## Getting started\n\nThe repository contains a OpenAPI Spec file `openapi.yml`, which is used as the central source to generate documentation, mock server, postman collection, contract tests, performance tests and client SDKs.\n\nPer folder, you can find a `package.json` file which contains the tools \u0026 scripts to generate the outputs.\n\n### REST API Server\n\nThe REST API Server can be started in the folder \"restapi-server\" by running `npm run server-start`.\nIt is a simple NodeJS/Express/Prisma API server using SQLite. It provides a full CRUD API for managing Marvel characters, teams \u0026 movies.\n\n## Publish documentation\n\nExamples for using Redoc, Swagger UI, Scalar can be found in the folder \"restapi-server/public/docs\".\n\n### Publish Postman Collection\n\nThe scripts to generate the Postman Collection can be found in the folder `publish-postman`\n\n### Publish OpenAPI Spec\n\nThe scripts to generate the OpenAPI Spec can be found in the folder `publish-openapi`\n\n### Generate Mock Server\n\nThe Mock server can be started in the folder \"mock-prism\" by running `npm run mock`\n\n### Generate Contract Tests\n\nThe Contract Tests scripts can be found in the folder \"testing-contract\".\n\n### Generate Performance Tests\n\nThe Performance Tests scripts can be found in the folder \"testing-k6\".\n\n### Generate Client SDKs\n\nThe Client SDKs scripts can be found in the folder \"client-sdk\".\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthim81%2Fspec-driven-openapi-contract-performance-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthim81%2Fspec-driven-openapi-contract-performance-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthim81%2Fspec-driven-openapi-contract-performance-testing/lists"}