{"id":22387455,"url":"https://github.com/muhammadranju/e-commerce-api","last_synced_at":"2025-08-18T19:44:38.721Z","repository":{"id":222156071,"uuid":"751837657","full_name":"muhammadranju/e-commerce-api","owner":"muhammadranju","description":"This API project backend e-commerce-API tries to build real life expression. You can also try to test this API project.","archived":false,"fork":false,"pushed_at":"2025-05-10T16:49:58.000Z","size":401,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-31T07:48:15.989Z","etag":null,"topics":["add-products-to-cart","add-products-to-shopping-cart","api","authentication","authorization","backend","backend-api","e-commerce","e-commerce-api","login-system","mongodb","mongoose","nodejs","order-management","product-systems"],"latest_commit_sha":null,"homepage":"https://e-com-api.mdranju.xyz/api/v1/products","language":"JavaScript","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/muhammadranju.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,"zenodo":null}},"created_at":"2024-02-02T12:43:56.000Z","updated_at":"2025-05-10T16:50:02.000Z","dependencies_parsed_at":"2024-05-03T15:42:40.780Z","dependency_job_id":"266c6475-4320-4740-827b-cdf57f3fe3cf","html_url":"https://github.com/muhammadranju/e-commerce-api","commit_stats":null,"previous_names":["muhammadranju/e-commerce-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/muhammadranju/e-commerce-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadranju%2Fe-commerce-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadranju%2Fe-commerce-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadranju%2Fe-commerce-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadranju%2Fe-commerce-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muhammadranju","download_url":"https://codeload.github.com/muhammadranju/e-commerce-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadranju%2Fe-commerce-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271050791,"owners_count":24691184,"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-18T02:00:08.743Z","response_time":89,"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":["add-products-to-cart","add-products-to-shopping-cart","api","authentication","authorization","backend","backend-api","e-commerce","e-commerce-api","login-system","mongodb","mongoose","nodejs","order-management","product-systems"],"created_at":"2024-12-05T02:09:20.350Z","updated_at":"2025-08-18T19:44:38.681Z","avatar_url":"https://github.com/muhammadranju.png","language":"JavaScript","readme":"# API Design all kinds of info blow here\n\n**This Notion File is all About this project**\n\n### Notion file link: https://muhammadranju.notion.site/e-commerce-api-dca824a1c151425ca3410308b908a3b4?pvs=4\n\n### Diagrams file google drive: https://drive.google.com/file/d/1s1RhYl0vQhY0Ws37csgFdR7dFmQrTIt3/view?usp=sharing\n\n### Diagrams file link: https://app.eraser.io/workspace/Q4vcEg2ZDGZ7Yp9llKrK\n\n### Postman file link: https://www.postman.com/muhammad-ranju/workspace/e-commerce-api/collection/20967644-1055139c-703a-491c-9289-4d2eea04eb1b?action=share\u0026creator=20967644\u0026active-environment=20967644-c215baeb-9397-489b-8de1-943b5424c351\n\n## Features\n\n- User can register/login.\n- Seller can register/login also verify his email.\n- User can see products and they can order the product.\n- User can see her Order status and progress.\n- User can do cancel his/hir order.\n- User can do reset her passowrd and changer the passowrd.\n- User can search product with title or category or tags.\n- User can do reviews when hir order is delivered.\n- Admin can do add user on dashboard\n- Admin can manage user orrders\n\n# All routes in this project\n\n## Public routes\n\n### auth routes\n\n- /api/v1/auth/login - post // login\n- /api/v1/auth/register - post // register\n- /api/v1/auth/forgot-password - post // forgot password\n- /api/v1/auth/reset-password - post // reset password\n- /api/v1/auth/verify-email - post // verify email\n\n### product routes\n\n- /api/v1/products/id - get // get product\n\n### brands routes\n\n- /api/v1/brands - get // get brands\n- /api/v1/brands/id - get // get brand by id\n\n### categories routes\n\n- /api/v1/categories - get // get categories\n- /api/v1/categories/id - get // get category by id\n\n### seller routes\n\n- /api/v1/seller/stores/id - get // get store\n\n## private routes\n\n### users routes\n\n- /api/v1/users/profile - get // get profile\n- /api/v1/users/profile - patch // update profile\n- /api/v1/user/change-password - patch // change password\n- /api/v1//users/profile/addresses - get // get addresses\n- /api/v1/users/profile/addresses - post // add address\n- /api/v1/users/profile/addresses/id - patch // update address by id\n- /api/v1/users/profile/addresses/id - delete // delete address by id\n\n### brands routes\n\n- /api/v1/brands - post // add brand\n- /api/v1/brands/id - patch // update brand by id\n- /api/v1/brands/id - delete // delete brand by id\n\n### categories routes\n\n- /api/v1/categories - post // add category\n- /api/v1/categories/id - patch // update category by id\n- /api/v1/categories/id - delete // delete category by id\n\n### products routes\n\n- /api/v1/products - post // add product\n- /api/v1/products/id - patch // update product by id\n- /api/v1/products/id - delete // delete product by id\n\n### cart routes\n\n- /api/v1/carts - get // get carts\n- /api/v1/carts - post // add to cart\n- /api/v1/carts/id - patch // update cart by id\n- /api/v1/carts/id - delete // delete cart by id\n- /api/v1/carts/empty - delete // delete all carts\n\n## orders routes\n\n- /api/v1/orders - get // get orders\n- /api/v1/orders/id - get // get orders by id\n- /api/v1/orders/tracking/id - get // get order tracking by id\n- /api/v1/orders/ - post // add order\n- /api/v1/orders/id - patch // update order by id\n- /api/v1/orders/id - delete // delete order by id\n\n### payment routes\n\n- /api/v1/payments/history - get // get payment history\n- /api/v1/payments/id - get // get payment by id\n- /api/v1/payments/success - post // success payment\n\n### delivery routes !TODO\n\n- /api/v1/deliveries/id - get // get delivery by id\n- /api/v1/deliveries/id - patch // update delivery by id\n- /api/v1/deliveries/id - delete // delete delivery by id\n- /api/v1/deliveries/tracking/id - get // get delivery tracking by id\n- /api/v1/deliveries/history - get // get delivery history\n- /api/v1/deliveries/success - post // success delivery\n- /api/v1/deliveries/cancel - post // cancel delivery\n- /api/v1/deliveries/cancel/id - delete // cancel delivery by id\n\n### review routes\n\n- /api/v1/reviews - post // get review by id\n- /api/v1/users/reviews - patch // get review by id\n\n### wishlist routes\n\n- /api/v1/wishlists - get // get wishlists\n- /api/v1/wishlists/id - delete // delete wishlist by id\n- /api/v1/wishlists - post // add product to wishlist\n\n### seller routes\n\n- /api/v1/seller/auth/login - post // login\n- /api/v1/seller/auth/register - post // register\n- /api/v1/seller/auth/forgot-password - post // forgot password\n- /api/v1/seller/auth/reset-password - patch // reset password\n- /api/v1/seller/auth/verify-email - post // verify email\n- /api/v1/seller/auth/change-password - patch // change password\n\n### seller profile routes\n\n- /api/v1/seller/profile - get // get seller profile\n- /api/v1/seller/profile/id - get // get seller profile by id\n- /api/v1/seller/profile - patch // update seller profile\n\n### seller store routes\n\n- /api/v1/seller/stores/id - get // get store by id\n- /api/v1/seller/stores - get // get stores !TODO\n- /api/v1/seller/stores/id - patch // update store by id\n- /api/v1/seller/stores/id - delete // delete store by id\n- /api/v1/seller/stores - post // add store\n\n### seller product routes\n\n- /api/v1/seller/products - get // get all products\n- /api/v1/seller/products/id - get // get product by id\n- /api/v1/seller/products/id - patch // update product by id\n- /api/v1/seller/products/id - delete // delete product by id\n- /api/v1/seller/products - post // add product\n\n### admin auth routes\n\n- /api/v1/admins/auth/login - post // login\n- /api/v1/admins/auth/register - post // register\n- /api/v1/admins/auth/forgot-password - post // forgot password\n- /api/v1/admins/auth/reset-password - patch // reset password\n- /api/v1/admins/auth/change-password - patch // change password\n-\n\n### admin profile routes // !TODO\n\n- /api/v1/admins/profile - get // get admin profile\n- /api/v1/admins/profile/id - get // get admin profile by id\n- /api/v1/admins/profile - patch // update admin profile\n- /api/v1/admins/profile/id - delete // delete admin profile by id\n- /api/v1/admins/profile - post // add admin profile\n\n### seller product routes by admin\n\n- /api/v1/admins/sellers/:seller_id/products - get // get all products\n- /api/v1/admins/sellers/:seller_id/products/:product_id - get // get product by id\n- /api/v1/admins/sellers/:seller_id/products - post // add product\n- /api/v1/admins/sellers/:seller_id/products/:product_id - patch // update product by id\n- /api/v1/admins/sellers/:seller_id/products/:product_id - delete // delete product by id\n\n### seller order routes by admin\n\n- /api/v1/admins/admins/orders?type= - get // get all orders\n- /api/v1/admins/admins/orders/:order_id - get // get order by id\n- /api/v1/admins/admins/orders/:order_id - patch // update order by id\n\n### seller account details routes by admin\n\n- /api/v1//admins/seller/profile - get // get account all details\n- /api/v1/admins/seller/profile/id - get // get account by id\n- /api/v1/admins/seller/profile - patch // update account by id\n- /api/v1/admins/seller/profile/id - delete // delete account by id !TODO\n- /api/v1/admins/seller/profile - post // add account\n\n### seller store routes by admin\\\n\n- /api/v1/admins/sellers/seller_id/ - get // get store by id\n- /api/v1/admins/sellers/seller_id/ - patch // update store by id\n- /api/v1/admins/sellers/seller_id/ - delete // delete store by id !TODO\n- /api/v1/admins/sellers/seller_id/ - post // add store !TODO\n\n### user routes by admin\n\n- /api/v1/admins/users/user_id - get // get user profile\n- /api/v1/admins/users/user_id - patch // update user profile\n- /api/v1/admins/users/user_id - delete // delete user profile !TODO\n- /api/v1/admins/users/user_id - post // add user profile !TODO\n\n## Deployment\n\nTo develop this project run\n\n```bash\n  npm start\n  http://localhost:3000/api/v1\n```\n\nTo deploy this project run\n\n```bash\n  npm run dev\n  http://localhost:3000/api/v1\n```\n\n## Run Locally\n\nClone the project\n\n```bash\n  git clone https://github.com/muhammadranju/e-commerce-api\n```\n\nGo to the project directory\n\n```bash\n  cd e-commerce-api\n```\n\nInstall dependencies\n\n```bash\n  npm install\n```\n\nStart the server\n\n```bash\n  npm run dev\n```\n\n## Usage/Examples\n\n```javascript\nimport Component from \"my-project\";\n\nfunction App() {\n  return \u003cComponent /\u003e;\n}\n```\n\n## Environment Variables\n\nTo run this project, you will need to add the following environment variables to your .env file\n\n`BASE_URL` \"http://localhost:3030\"\n\n`PORT` 3030\n\n`MONGODB_URI` \"mongodb+srv://\u003cusername\u003e:\u003cpassword\u003e@cluster0.jzvet.mongodb.net/?retryWrites=true\u0026w=majority\"\n\n`ACCESS_TOKEN_SECRET` \"**\\*\\***\\*\\***\\*\\***\\*\\*\\***\\*\\***\\*\\***\\*\\***\"\n\n`ACCESS_TOKEN_EXPIRY` \"**\\*\\***\\*\\***\\*\\***\\*\\*\\***\\*\\***\\*\\***\\*\\***\"\n\n`REFRESH_TOKEN_SECRET` \"**\\*\\***\\*\\***\\*\\***\\*\\*\\***\\*\\***\\*\\***\\*\\***\"\n\n`REFRESH_TOKEN_EXPIRY` \"**\\*\\***\\*\\***\\*\\***\\*\\*\\***\\*\\***\\*\\***\\*\\***\"\n\n`EMAIL` \"YOUR_EMAIL\"\n\n`EMAIL_PASSKEY` \"YOUR_EMAIL_PASSKEY\"\n\n`EMAIL_SERVICE` \"YOUR_EMAIL_SERVICE\"\n\n`EMAIL_PORT` \"YOUR_EMAIL_PORT\"\n\n`EMAIL_USERNAME` \"YOUR_EMAIL_USERNAME\"\n\n`EMAIL_PASSWORD` \"YOUR_EMAIL_PASSWORD\"\n\n`CLOUDINARY_CLOUD_NAME` \"YOUR_CLOUDINARY_CLOUD_NAME\"\n\n`CLOUDINARY_API_KEY` \"YOUR_CLOUDINARY_API_KEY\"\n\n`CLOUDINARY_API_SECRET` \"YOUR_CLOUDINARY_API_SECRET\"\n\n## Tech Stack\n\n**Client:** React.js, Next.js, TailwindCSS\n\n**Server:** Node, Express, bcryptjs, cloudinary, compression, cookie-parse, express-rate-limit, jsonwebtoken, mailgen, mongoose, mongoose-aggregate-paginate-v2, nodemailer, socket.io, sslcommerz, stripe\n\n![Logo](https://nodejs.org/static/images/logo.svg)\n\n![Logo](https://www.vectorlogo.zone/logos/expressjs/expressjs-ar21.svg)\n\n## Authors\n\n- [@muhammadranju](https://www.github.com/muhammadranju)\n\n## Feedback\n\nIf you have any feedback, please reach out to us at muhamadranju@gmail.com\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhammadranju%2Fe-commerce-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuhammadranju%2Fe-commerce-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhammadranju%2Fe-commerce-api/lists"}