{"id":21015833,"url":"https://github.com/abhiraj-ku/ecom-app","last_synced_at":"2026-04-12T17:45:39.083Z","repository":{"id":208238916,"uuid":"721144792","full_name":"abhiraj-ku/Ecom-App","owner":"abhiraj-ku","description":"This repository hosts the Backend API for an e-commerce project","archived":false,"fork":false,"pushed_at":"2024-04-27T10:21:17.000Z","size":12662,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T12:08:12.916Z","etag":null,"topics":["api","backend","ci-cd","cloudinary-sdk","docker","ejs-templates","express","node-js"],"latest_commit_sha":null,"homepage":"","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/abhiraj-ku.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":"2023-11-20T12:56:20.000Z","updated_at":"2024-04-27T10:21:21.000Z","dependencies_parsed_at":"2023-11-20T14:28:17.712Z","dependency_job_id":"f58a66ea-f7ad-458d-97f8-2201425565df","html_url":"https://github.com/abhiraj-ku/Ecom-App","commit_stats":null,"previous_names":["abhiraj-ku/ecom-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiraj-ku%2FEcom-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiraj-ku%2FEcom-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiraj-ku%2FEcom-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiraj-ku%2FEcom-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abhiraj-ku","download_url":"https://codeload.github.com/abhiraj-ku/Ecom-App/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243447053,"owners_count":20292447,"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","backend","ci-cd","cloudinary-sdk","docker","ejs-templates","express","node-js"],"created_at":"2024-11-19T10:11:29.722Z","updated_at":"2025-12-26T17:43:48.863Z","avatar_url":"https://github.com/abhiraj-ku.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-commerce Backend API\r\n\r\nWelcome to the E-commerce App Backend API repository. Here, you'll find the backend API for an e-commerce project, providing essential features to support the functionality of your e-commerce application.\r\n\r\n## Features:\r\n\r\n1.  **User Management:**\r\n\r\n    - Facilitates user registration and authentication.\r\n    - Manages user profiles and account details.\r\n\r\n2.  **Product Catalog:**\r\n\r\n    - Offers CRUD operations for products.\r\n    - Provides product details and catalog information retrieval.\r\n\r\n3.  **Order Processing:**\r\n\r\n    - Manages customer orders and order history.\r\n    - Tracks order status and processes orders efficiently.\r\n\r\n4.  **Shopping Cart Functionality:**\r\n\r\n    - Enables users to manipulate their shopping carts (add, remove, update items).\r\n    - Calculates and displays the total price of items in the cart accurately.\r\n\r\n5.  **Payment Integration:**\r\n\r\n    - Integrates secure payment gateways for seamless transactions.\r\n    - Currently supports Stripe and Razorpay (in production).\r\n\r\n6.  **Security:**\r\n\r\n    - Implements robust authentication and authorization mechanisms to ensure data security.\r\n\r\n## How to Use in Your Frontend/Full Stack Project:\r\n\r\n### 1. Clone the Repository:\r\n\r\nIf you're a frontend or full stack developer needing a backend API for your project, you can clone this repository. Use the following command to clone:\r\n\r\nbashCopy code\r\n\r\n`git clone \u003crepository_url\u003e`\r\n\r\nReplace `\u003crepository_url\u003e` with the actual URL of this repository.\r\n\r\n### 2. Integrate with Your Frontend:\r\n\r\nOnce you've cloned the repository, you can integrate the backend API with your frontend application using HTTP requests. Here's a basic guide on how to do this:\r\n\r\n- **API Endpoints:** Explore the API documentation to understand the available endpoints and their functionalities.\r\n\r\nthe API endpoints available in this backend:\r\n\r\n### User Management:\r\n\r\n# API Documentation\r\n\r\n### User Authentication and Management\r\n\r\nThese routes handle user authentication, profile management, and user administration functionalities.\r\n\r\n- **POST /api/v1/signup**\r\n\r\n  - Registers a new user.\r\n  - Example: `POST /api/v1/signup`\r\n\r\n- **POST /api/v1/login**\r\n\r\n  - Authenticates a user.\r\n  - Example: `POST /api/v1/login`\r\n\r\n- **GET /api/v1/logout**\r\n\r\n  - Logs out the authenticated user.\r\n  - Example: `GET /api/v1/logout`\r\n\r\n- **POST /api/v1/forgotPassword**\r\n\r\n  - Initiates the password reset process by sending a reset email to the user's email address.\r\n  - Example: `POST /api/v1/forgotPassword`\r\n\r\n- **POST /api/v1/password/reset/:token**\r\n  - Resets the password using the reset token sent to the user's email.\r\n  - Example: `POST /api/v1/password/reset/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c`\r\n\r\n### User Profile Management\r\n\r\nThese routes handle user profile-related functionalities.\r\n\r\n- **GET /api/v1/userDashboard**\r\n\r\n  - Retrieves the profile information of the authenticated user.\r\n  - Example: `GET /api/v1/userDashboard`\r\n\r\n- **POST /api/v1/password/update**\r\n\r\n  - Updates the password of the authenticated user.\r\n  - Example: `POST /api/v1/password/update`\r\n\r\n- **POST /api/v1/userdashboard/update**\r\n  - Updates the profile details of the authenticated user.\r\n  - Example: `POST /api/v1/userdashboard/update`\r\n\r\n### Admin and Manager Functionality\r\n\r\nThese routes are restricted to admin and manager roles for user administration.\r\n\r\n- **GET /api/v1/admin/users**\r\n\r\n  - Retrieves a list of all users (admin-only).\r\n  - Example: `GET /api/v1/admin/users`\r\n\r\n- **GET /api/v1/admin/user/:id**\r\n\r\n  - Retrieves details of a specific user by ID (admin-only).\r\n  - Example: `GET /api/v1/admin/user/123`\r\n\r\n- **PUT /api/v1/admin/user/:id**\r\n\r\n  - Updates details of a specific user by ID (admin-only).\r\n  - Example: `PUT /api/v1/admin/user/123`\r\n\r\n- **DELETE /api/v1/admin/user/:id**\r\n\r\n  - Deletes a specific user by ID (admin-only).\r\n  - Example: `DELETE /api/v1/admin/user/123`\r\n\r\n- **GET /api/v1/manager/users**\r\n  - Retrieves a list of all users (manager-only).\r\n  - Example: `GET /api/v1/manager/users`\r\n\r\n## Product Catalog\r\n\r\n### Products\r\n\r\nThese routes handle product-related functionalities.\r\n\r\n- **GET /api/v1/products**\r\n  - Retrieves a list of all products available in the catalog.\r\n  - Example: `GET /api/v1/products`\r\n\r\n### Admin Product Management\r\n\r\nThese routes are restricted to admin role for product administration.\r\n\r\n- **POST /api/v1/admin/product/add**\r\n  - Adds a new product to the catalog (admin-only).\r\n  - Example: `POST /api/v1/admin/product/add`\r\n\r\n## Payment Integration\r\n\r\n### Capturing Secret Keys\r\n\r\nThese routes are used to retrieve secret keys for integrating payment gateways securely.\r\n\r\n- **GET /api/v1/stripekey**\r\n\r\n  - Retrieves the Stripe secret key.\r\n  - Requires user to be logged in.\r\n  - Example: `GET /api/v1/stripekey`\r\n\r\n- **GET /api/v1/razorpaykey**\r\n  - Retrieves the Razorpay secret key.\r\n  - Requires user to be logged in.\r\n  - Example: `GET /api/v1/razorpaykey`\r\n\r\n### Payment Handling\r\n\r\nThese routes are used to handle payments using Stripe and Razorpay integration.\r\n\r\n- **POST /api/v1/pay/stripepay**\r\n\r\n  - Initiates payment processing using Stripe integration.\r\n  - Requires user to be logged in.\r\n  - Example: `POST /api/v1/pay/stripepay`\r\n\r\n- **POST /api/v1/pay/razorpay**\r\n  - Initiates payment processing using Razorpay integration.\r\n  - Requires user to be logged in.\r\n  - Example: `POST /api/v1/pay/razorpay`\r\n\r\n## 🐛 Bug Reporting\r\n\r\nFeel free to [open an issue](https://github.com/abhiraj-ku/Ecom-App/issues) on GitHub if you find any bug.\r\n\r\n## ⭐ Feature Request\r\n\r\n- Feel free to [Open an issue](https://github.com/abhiraj-ku/Ecom-App/issues) on GitHub to request any additional features you might need for your use case.\r\n\r\n# Connect with me on:\r\n\r\n- [LinkedIn](https://www.linkedin.com/in/abhishek-ko/). It takes few seconds to click on that 'connect' button 😉.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhiraj-ku%2Fecom-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhiraj-ku%2Fecom-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhiraj-ku%2Fecom-app/lists"}