{"id":21272712,"url":"https://github.com/cooper-gadd/product-service","last_synced_at":"2026-05-18T22:12:57.764Z","repository":{"id":262296233,"uuid":"886808172","full_name":"cooper-gadd/product-service","owner":"cooper-gadd","description":"🍎 Serving products.","archived":false,"fork":false,"pushed_at":"2024-11-11T17:16:14.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-22T02:47:07.096Z","etag":null,"topics":["csharp","dotnet","swagger","webapi"],"latest_commit_sha":null,"homepage":"","language":"C#","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/cooper-gadd.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-11T16:35:17.000Z","updated_at":"2024-11-12T00:16:41.000Z","dependencies_parsed_at":"2024-11-11T17:42:11.290Z","dependency_job_id":null,"html_url":"https://github.com/cooper-gadd/product-service","commit_stats":null,"previous_names":["cooper-gadd/product-service"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fproduct-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fproduct-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fproduct-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fproduct-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cooper-gadd","download_url":"https://codeload.github.com/cooper-gadd/product-service/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243728296,"owners_count":20338228,"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":["csharp","dotnet","swagger","webapi"],"created_at":"2024-11-21T09:08:46.242Z","updated_at":"2026-05-18T22:12:57.728Z","avatar_url":"https://github.com/cooper-gadd.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Product Service API\n\nA RESTful service that provides product information including product lists, prices, and price-based queries.\n\n## Description\n\nThis API provides endpoints to:\n- Get a list of all product names\n- Find the cheapest product\n- Find the most expensive product\n- Get the price of a specific product by name\n\n## API Specification (OpenAPI 3.0.0)\n\n```yaml\nopenapi: 3.0.0\ninfo:\n  title: Product Service API\n  description: API for managing product information and prices\n  version: 1.0.0\n\nservers:\n  - url: https://localhost:5009\n    description: Development server\n\npaths:\n  /Services/Products:\n    get:\n      summary: Get all product names\n      description: Returns a list of all available product names\n      responses:\n        '200':\n          description: Successful operation\n          content:\n            application/json:\n              schema:\n                type: array\n                items:\n                  type: string\n              example: [\"Apples\", \"Peaches\", \"Pumpkin\", \"Pie\"]\n\n  /Services/Products/Cheapest:\n    get:\n      summary: Get the cheapest product\n      description: Returns the product with the lowest price\n      responses:\n        '200':\n          description: Successful operation\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Product'\n\n  /Services/Products/Costliest:\n    get:\n      summary: Get the most expensive product\n      description: Returns the product with the highest price\n      responses:\n        '200':\n          description: Successful operation\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Product'\n\n  /Services/Products/{product}:\n    get:\n      summary: Get price of specific product\n      description: Returns the price of the specified product\n      parameters:\n        - name: product\n          in: path\n          required: true\n          description: Name of the product\n          schema:\n            type: string\n      responses:\n        '200':\n          description: Successful operation\n          content:\n            application/json:\n              schema:\n                type: number\n                format: decimal\n              example: 3.99\n        '404':\n          description: Product not found\n          content:\n            application/json:\n              schema:\n                type: null\n\ncomponents:\n  schemas:\n    Product:\n      type: object\n      properties:\n        id:\n          type: integer\n          format: int32\n        name:\n          type: string\n        price:\n          type: number\n          format: decimal\n      required:\n        - id\n        - name\n        - price\n      example:\n        id: 1\n        name: \"Apples\"\n        price: 3.99\n```\n\n## Getting Started\n\n### Prerequisites\n- .NET 8.0 or later\n- An IDE (Zed btw)\n\n### Running the Application\n\n1. Clone the repository\n2. Navigate to the project directory\n3. Run the following command:\n```bash\ndotnet watch\n```\n\n### Testing the Application\n\nThe application can be tested using Swagger UI at http://localhost:5009/swagger/index.html\n\n## Endpoints\n\n- GET `/Services/Products` - Returns list of all product names\n- GET `/Services/Products/Cheapest` - Returns the cheapest product\n- GET `/Services/Products/Costliest` - Returns the most expensive product\n- GET `/Services/Products/{product}` - Returns the price of the specified product\n\n## Sample Data\n\nThe service includes the following sample products:\n- Apples: $3.99\n- Peaches: $4.05\n- Pumpkin: $13.99\n- Pie: $8.00\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooper-gadd%2Fproduct-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcooper-gadd%2Fproduct-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooper-gadd%2Fproduct-service/lists"}