{"id":18412857,"url":"https://github.com/rproenza86/taco-chef-service","last_synced_at":"2026-05-10T02:47:30.584Z","repository":{"id":96673402,"uuid":"336396981","full_name":"rproenza86/taco-chef-service","owner":"rproenza86","description":"Restful service to perform CRUD operations around the Tacos' Recipes.","archived":false,"fork":false,"pushed_at":"2021-02-12T11:29:55.000Z","size":12009,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T23:47:32.587Z","etag":null,"topics":["api-integration","aws-api-gateway","aws-lambda","aws-sam","chai","mocha","restful-api","stackery","typescript"],"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/rproenza86.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":"2021-02-05T21:48:59.000Z","updated_at":"2021-02-12T11:29:57.000Z","dependencies_parsed_at":"2023-03-17T14:15:16.353Z","dependency_job_id":null,"html_url":"https://github.com/rproenza86/taco-chef-service","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rproenza86%2Ftaco-chef-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rproenza86%2Ftaco-chef-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rproenza86%2Ftaco-chef-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rproenza86%2Ftaco-chef-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rproenza86","download_url":"https://codeload.github.com/rproenza86/taco-chef-service/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647256,"owners_count":21139081,"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-integration","aws-api-gateway","aws-lambda","aws-sam","chai","mocha","restful-api","stackery","typescript"],"created_at":"2024-11-06T03:43:47.224Z","updated_at":"2026-05-10T02:47:25.536Z","avatar_url":"https://github.com/rproenza86.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# taco-chef\n\n\u003e AWS Serverless Workshop\n\nThis is a serverless application to create a basic Restful service.\n\n## Description\n\nAWS serverless API project built using AWS SAM framework.\n\nThe stack is an orchestration of :\n\n1. API Gateway\n2. Lambda Functions\n3. DynamoDB\n4. Spoonacular.com API\n\n## API Requirements\n\n1. Consumers of the API should be able access full REST endpoints for the following actions:\n\n    - Creating Taco recipes\n    - Updating Taco recipes\n    - Deleting Taco recipes\n    - Retrieving a list of Taco recipes\n    - Retrieve list of Taco sauces from Spoonacular.com Ingredient API\n    - Post Taco Recipe to Spoonacular.com API and return Recipe Card image\n\n2. Taco recipes consist of the following data:\n\n    - Recipe Name\n    - Recipe Description\n    - Recipe Instructions\n    - Ingredients:\n        - Taco Shell\n        - Taco Protein(s)\n        - Taco Topping(s)\n        - Taco Sauce(s)\n\n3. The API should use some sort of mock DB and/or caching to persist the Taco recipe data\n\n4. The API should contain at least one \"positive\" unit test and one \"negative\" unit test\n\n## Solution Diagrams\n\n### AWS Architecture Diagram\n\n![solution](docs/images/solution.png)\n\n### SAM Template Architecture Diagram\n\n\u003e **Interesting**: Using Stackery.com as service/platform to deploy, monitor and control the application stack.\n\n![architecture](docs/images/architecture.png)\n\n## How to Test\n\nTo perform the API operations you could use:\n\n1. The `.rest` files placed on the [`docs/restFulCalls/`](https://github.com/rproenza86/taco-chef-service/tree/master/docs/restFulCalls) directory.\n2. Postman collection shared on the  [`docs/postman/`](https://github.com/rproenza86/taco-chef-service/tree/master/docs/postman/) directory.\n\n\u003e For more details check the below demo\n\n### Tests Demo\n\n\u003e **Important:** On new deployments, if the POST endpoint for the FormData's payload return \"...db ops error\", you maybe are missing an AWS API Gateway configuration: Go to your API -\u003e Settings -\u003e Binary Media Types and add the `multipart/form-data` binary time, re-deploy and test.\n\n![demo](docs/images/demo.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frproenza86%2Ftaco-chef-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frproenza86%2Ftaco-chef-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frproenza86%2Ftaco-chef-service/lists"}