{"id":27192406,"url":"https://github.com/sameh-farouk/coffee-time","last_synced_at":"2026-05-01T16:35:55.236Z","repository":{"id":127939481,"uuid":"295480781","full_name":"sameh-farouk/Coffee-Time","owner":"sameh-farouk","description":"a Project using Python/Django, Django Rest Framework and MongoDB to Build a RESTful API with endpoints that return products data in JSON format for Consuming by un e-commerce mobile application.","archived":false,"fork":false,"pushed_at":"2020-09-15T13:02:19.000Z","size":1867,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T18:56:41.934Z","etag":null,"topics":["django","django-rest-framework","mongodb"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sameh-farouk.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":"2020-09-14T16:52:41.000Z","updated_at":"2020-09-16T17:47:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"a6c9b6c1-e760-4aca-b3f2-4227108ec896","html_url":"https://github.com/sameh-farouk/Coffee-Time","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sameh-farouk/Coffee-Time","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2FCoffee-Time","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2FCoffee-Time/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2FCoffee-Time/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2FCoffee-Time/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sameh-farouk","download_url":"https://codeload.github.com/sameh-farouk/Coffee-Time/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2FCoffee-Time/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32505109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["django","django-rest-framework","mongodb"],"created_at":"2025-04-09T18:44:43.324Z","updated_at":"2026-05-01T16:35:55.223Z","avatar_url":"https://github.com/sameh-farouk.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Coffee-Time\na Project using Python/Django, Django Rest Framework and MongoDB to Build a **RESTful API** with endpoints that return products data in JSON format for Consuming by un e-commerce mobile application.\n\n### live demo with browsable API:\nPlease check the link to instance of the web service deployed on **Heroku** and configured with a **MongoDB Atlas**, a Cloud-hosted MongoDB service.\n***[https://coffeetime-api.herokuapp.com](https://coffeetime-api.herokuapp.com)***\n\nVisiting the url will display human-friendly HTML output discribe each resource available with **browsable and clickable urls** for easy API browsing by humans.\n\nThe browsable API ensures that all the endpoints you create in your API are able to respond both with machine readable (in JSON) and human readable (in HTML) representations.\n\nBy default, the API will return the format specified by the headers, which in the case of the browser is HTML. The format can be specified using `?format=` in the request, so you can look at the raw JSON response in a browser by adding `?format=json` to the URL.\n\n\n### Technology Used\n\n- Python 3.8.5\n- Django 3.0.5\n- MongoDB 4.4\n- Django Rest Framework 3.11.0\n- djongo 1.3.3\n- django-cors-headers 3.5.0\n- django-filter 2.3.0\n- Git 2.27\n\n### API\n#### paths:\n#####  /api/coffee-machines/:\n    get:\n      operationId: listCoffeeMachines\n      description: API endpoint  return the JSON data for all coffee machines products\n        filterable by product type, water line.\n      parameters:\n      - name: product_type__name\n        required: false\n        in: query\n        description: cofffee machine product type could be one of (COFFEE_MACHINE_LARGE, COFFEE_MACHINE_SMALL, ESPRESSO_MACHINE)\n        schema:\n          type: string\n      - name: water_line_compatible\n        required: false\n        in: query\n        description: whether the machine compatible with the water line or no (True, False)\n        schema:\n          type: string\n      responses:\n        '200':\n          content:\n            application/json:\n              schema:\n                type: array\n                items:\n                  properties:\n                    sku:\n                      type: string\n                      maxLength: 50\n                  required:\n                  - sku\n          description: 'the response contains array of product's sku'\n#####  /api/coffee-pods/:\n    get:\n      operationId: listCoffeePods\n      description: API endpoint  return the JSON data for all the coffee pods products\n        filterable by product type, coffee flavor, and pack size.\n      parameters:\n      - name: product_type__name\n        required: false\n        in: query\n        description: cofffee machine product type could be one of (COFFEE_POD_LARGE, COFFEE_POD_SMALL, ESPRESSO_POD)\n        schema:\n          type: string\n      - name: flavor__name\n        required: false\n        in: query\n        description: coffe pod flavor could be one of (COFFEE_FLAVOR_VANILLA, COFFEE_FLAVOR_CARAMEL, COFFEE_FLAVOR_PSL, COFFEE_FLAVOR_MOCHA, COFFEE_FLAVOR_HAZELNUT)\n        schema:\n          type: string\n      - name: pack_size__dozen\n        required: false\n        in: query\n        description: pack size by dozen could be one of (1, 3 , 5 , 7)\n        schema:\n          type: string\n      responses:\n        '200':\n          content:\n            application/json:\n              schema:\n                type: array\n                items:\n                  properties:\n                    sku:\n                      type: string\n                      maxLength: 50\n                  required:\n                  - sku\n          description: 'the response contains array of product's sku'\n          \n### Examples:\n\n- All large machines:\n  - [GET /api/coffee-machines/?product_type__name=COFFEE_MACHINE_LARGE](https://coffeetime-api.herokuapp.com/api/coffee-machines/?format=json\u0026product_type__name=COFFEE_MACHINE_LARGE)\n  \n - All large pods:\n   - [GET /api/coffee-pods/?product_type__name=COFFEE_POD_LARGE](https://coffeetime-api.herokuapp.com/api/coffee-pods/?format=json\u0026product_type__name=COFFEE_POD_LARGE)\n   \n - All espresso vanilla pods:\n   - [GET /api/coffee-pods/?product_type__name=ESPRESSO_POD\u0026flavor__name=COFFEE_FLAVOR_VANILLA](https://coffeetime-api.herokuapp.com/api/coffee-pods/?flavor__name=COFFEE_FLAVOR_VANILLA\u0026format=json\u0026product_type__name=ESPRESSO_POD)\n \n - All espresso machines:\n   - [GET /api/coffee-machines/?product_type__name=ESPRESSO_MACHINE](https://coffeetime-api.herokuapp.com/api/coffee-machines/?format=json\u0026product_type__name=ESPRESSO_MACHINE)\n \n - All small pods:\n   - [GET /api/coffee-pods/?product_type__name=COFFEE_POD_SMALL](https://coffeetime-api.herokuapp.com/api/coffee-pods/?format=json\u0026product_type__name=COFFEE_POD_SMALL)\n \n - All pods sold in 7 dozen packs:\n   - [GET /api/coffee-pods/?pack_size__dozen=7](https://coffeetime-api.herokuapp.com/api/coffee-pods/?format=json\u0026pack_size__dozen=7)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameh-farouk%2Fcoffee-time","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsameh-farouk%2Fcoffee-time","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameh-farouk%2Fcoffee-time/lists"}