{"id":25947315,"url":"https://github.com/ripionck/shop-ease-api","last_synced_at":"2026-05-05T11:31:56.161Z","repository":{"id":276307246,"uuid":"928828479","full_name":"ripionck/shop-ease-api","owner":"ripionck","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-12T12:31:57.000Z","size":1942,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T13:23:05.739Z","etag":null,"topics":["django-cloudinary","django-rest-framework","postgresql"],"latest_commit_sha":null,"homepage":"https://shop-ease-3oxf.onrender.com","language":"Python","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/ripionck.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":"2025-02-07T10:07:50.000Z","updated_at":"2025-03-12T12:32:00.000Z","dependencies_parsed_at":"2025-02-07T13:28:17.934Z","dependency_job_id":"37255d66-9fab-464c-9f3d-9e9cc5bdb1cc","html_url":"https://github.com/ripionck/shop-ease-api","commit_stats":null,"previous_names":["ripionck/shop-ease-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ripionck/shop-ease-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ripionck%2Fshop-ease-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ripionck%2Fshop-ease-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ripionck%2Fshop-ease-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ripionck%2Fshop-ease-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ripionck","download_url":"https://codeload.github.com/ripionck/shop-ease-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ripionck%2Fshop-ease-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270932579,"owners_count":24670240,"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","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"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-cloudinary","django-rest-framework","postgresql"],"created_at":"2025-03-04T10:19:04.716Z","updated_at":"2026-05-05T11:31:56.114Z","avatar_url":"https://github.com/ripionck.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# ShopEase API Documentation\n\nWelcome to the ShopEase API documentation. This API allows you to manage users, categories, products, wishlists, carts, reviews, orders, and payments for an e-commerce platform.\n\n---\n\n## Base URL\nThe base URL for all API endpoints is:\n```\n(https://shop-ease-3oxf.onrender.com/api/v1/)\n```\n\n---\n\n## Authentication\nMost endpoints require authentication using a Bearer Token. Include the token in the `Authorization` header as follows:\n```\nAuthorization: Bearer \u003ctoken\u003e\n```\n\n---\n\n## Endpoints\n\n### Users\n\n#### 1. User Login\n- **URL**: `/login/`\n- **Method**: `POST`\n- **Body** (JSON):\n  ```json\n  {\n    \"email\": \"admin@example.com\",\n    \"password\": \"admin123!\"\n  }\n  ```\n\n#### 2. User Register\n- **URL**: `/register/`\n- **Method**: `POST`\n- **Body** (JSON):\n  ```json\n  {\n    \"username\": \"test\",\n    \"email\": \"test@example.com\",\n    \"phone_number\": \"12134567890\",\n    \"password\": \"test123!\"\n  }\n  ```\n\n#### 3. View Profile\n- **URL**: `/profile/`\n- **Method**: `GET`\n- **Authorization**: Bearer Token\n\n#### 4. Edit Profile\n- **URL**: `/profile/`\n- **Method**: `PUT`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"country\": \"Bangladesh\"\n  }\n  ```\n\n---\n\n### Categories\n\n#### 1. Add Category\n- **URL**: `/categories/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"name\": \"Smart Home\",\n    \"description\": \"Devices for home automation\",\n    \"parent_category\": \"\",\n    \"subcategories\": [\n      {\n        \"name\": \"Smart Speakers\",\n        \"description\": \"Voice-controlled speakers\"\n      },\n      {\n        \"name\": \"Smart Lighting\",\n        \"description\": \"Automated lighting systems\"\n      }\n    ]\n  }\n  ```\n\n#### 2. Update Category\n- **URL**: `/categories/{category_id}/`\n- **Method**: `PUT`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"name\": \"Updated Electronics\",\n    \"description\": \"Updated description for electronic devices and accessories\",\n    \"parent_category\": null,\n    \"subcategories\": [\n      {\n        \"name\": \"Updated Smartphones\",\n        \"description\": \"Updated mobile phones and accessories\"\n      },\n      {\n        \"name\": \"Updated Laptops\",\n        \"description\": \"Updated laptops and notebooks\"\n      }\n    ]\n  }\n  ```\n\n#### 3. Retrieve Categories\n- **URL**: `/categories/`\n- **Method**: `GET`\n\n#### 4. Delete Category\n- **URL**: `/categories/{category_id}/`\n- **Method**: `DELETE`\n- **Authorization**: Bearer Token\n\n---\n\n### Products\n\n#### 1. Add Product\n- **URL**: `/products/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"name\": \"Wireless Gaming Headset\",\n    \"description\": \"Immerse yourself in the game with this comfortable and high-quality wireless headset.\",\n    \"price\": \"99.99\",\n    \"discounted_price\": \"79.99\",\n    \"category_id\": \"0be23434-7fd4-468d-9e1d-d41ff7b2b77d\",\n    \"brand\": \"GameOn\",\n    \"stock\": 20,\n    \"features\": [\n      \"Low-latency wireless connection\",\n      \"Noise-canceling microphone\",\n      \"50mm drivers\"\n    ],\n    \"specifications\": [\n      {\"key\": \"Frequency response\", \"value\": \"20Hz - 20kHz\"},\n      {\"key\": \"Wireless range\", \"value\": \"15m\"}\n    ],\n    \"tags\": [\n      \"gaming\",\n      \"headset\",\n      \"wireless\"\n    ]\n  }\n  ```\n\n#### 2. Image Upload\n- **URL**: `/products/{product_id}/images/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (form-data):\n  ```\n  image: \u003cfile\u003e\n  is_main: True\n  ```\n\n#### 3. All Products\n- **URL**: `/products/`\n- **Method**: `GET`\n\n#### 4. Single Product\n- **URL**: `/products/{product_id}/`\n- **Method**: `GET`\n\n#### 5. Update Product\n- **URL**: `/products/{product_id}/`\n- **Method**: `PATCH`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"name\": \"Gaming Console X Updated\"\n  }\n  ```\n\n#### 6. Delete Product\n- **URL**: `/products/{product_id}/`\n- **Method**: `DELETE`\n- **Authorization**: Bearer Token\n\n---\n\n### Wishlist\n\n#### 1. All Wishlist\n- **URL**: `/wishlist/`\n- **Method**: `GET`\n- **Authorization**: Bearer Token\n\n#### 2. Add Wishlist\n- **URL**: `/wishlist/add/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"product_id\": \"e0db2959-9c20-4589-b2a5-e2150020f35e\"\n  }\n  ```\n\n#### 3. Remove Wishlist\n- **URL**: `/wishlist/remove/{wishlist_id}/`\n- **Method**: `DELETE`\n- **Authorization**: Bearer Token\n\n---\n\n### Cart\n\n#### 1. Cart Items\n- **URL**: `/cart/`\n- **Method**: `GET`\n- **Authorization**: Bearer Token\n\n#### 2. Add to Cart\n- **URL**: `/cart/add/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"product_id\": \"e0db2959-9c20-4589-b2a5-e2150020f35e\",\n    \"quantity\": 1\n  }\n  ```\n\n#### 3. Update Cart\n- **URL**: `/cart/update/{product_id}/`\n- **Method**: `PATCH`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"quantity\": 5\n  }\n  ```\n\n#### 4. Remove Item\n- **URL**: `/cart/remove/{product_id}/`\n- **Method**: `DELETE`\n- **Authorization**: Bearer Token\n\n---\n\n### Reviews\n\n#### 1. Add Review\n- **URL**: `/products/{product_id}/reviews/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"rating\": 5,\n    \"comment\": \"This product is amazing! Highly recommended.\"\n  }\n  ```\n\n#### 2. All Reviews\n- **URL**: `/products/{product_id}/reviews/`\n- **Method**: `GET`\n\n#### 3. Delete Review\n- **URL**: `/reviews/{review_id}/`\n- **Method**: `DELETE`\n- **Authorization**: Bearer Token\n\n#### 4. Edit Review\n- **URL**: `/reviews/{review_id}/`\n- **Method**: `PATCH`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"rating\": 4\n  }\n  ```\n\n---\n\n### Orders\n\n#### 1. Add Order\n- **URL**: `/orders/create/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"products\": [\n      { \"product_id\": \"1734bb47-0177-49db-903e-5f1a4bb520fc\", \"quantity\": 1 },\n      { \"product_id\": \"815d4748-53f6-451a-ae38-0c3330aaefd6\", \"quantity\": 4 }\n    ],\n    \"shipping_address\": {\n      \"street\": \"123 Main St\",\n      \"city\": \"Anytown\",\n      \"state\": \"State\",\n      \"country\": \"Country\",\n      \"zipCode\": \"12345\"\n    },\n    \"payment_method\": \"credit_card\"\n  }\n  ```\n\n#### 2. Update Status\n- **URL**: `/orders/update-status/{order_id}/`\n- **Method**: `PATCH`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"status\": \"shipped\"\n  }\n  ```\n\n#### 3. Track Order\n- **URL**: `/orders/track/{order_id}/`\n- **Method**: `GET`\n- **Authorization**: Bearer Token\n\n#### 4. Order Details\n- **URL**: `/orders/{order_id}/`\n- **Method**: `GET`\n- **Authorization**: Bearer Token\n\n#### 5. All Orders\n- **URL**: `/orders/`\n- **Method**: `GET`\n- **Authorization**: Bearer Token\n\n#### 6. Cancel Order\n- **URL**: `/orders/cancel/{order_id}/`\n- **Method**: `PATCH`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"status\": \"cancelled\"\n  }\n  ```\n\n---\n\n### Payments\n\n#### 1. Create Payment\n- **URL**: `/payments/`\n- **Method**: `POST`\n- **Authorization**: Bearer Token\n- **Body** (JSON):\n  ```json\n  {\n    \"order\": \"c1b7c291-ccb3-4900-be86-17b41d9844e0\",\n    \"amount\": \"100.00\",\n    \"payment_method\": \"credit_card\"\n  }\n  ```\n\n#### 2. Payment Details\n- **URL**: `/payments/{payment_id}/`\n- **Method**: `GET`\n- **Authorization**: Bearer Token\n\n---\n\n## Testing\nTo test the API, use the following endpoint:\n- **URL**: `/`\n- **Method**: `GET`\n\n---\n\n## License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fripionck%2Fshop-ease-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fripionck%2Fshop-ease-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fripionck%2Fshop-ease-api/lists"}