{"id":22674976,"url":"https://github.com/sucho6996/ecommercebackend","last_synced_at":"2026-04-28T20:06:05.411Z","repository":{"id":258963929,"uuid":"866944369","full_name":"Sucho6996/EcommerceBackend","owner":"Sucho6996","description":"A backend project of Ecommerce application built with Java Spring boot frame work ","archived":false,"fork":false,"pushed_at":"2024-11-24T10:06:29.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-04T13:25:51.241Z","etag":null,"topics":["backend","ecommerce-application","java","microservices","payment-gateway","razorpay","spring-boot","spring-security","webdevelopment"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sucho6996.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":"2024-10-03T07:01:11.000Z","updated_at":"2024-11-24T10:06:33.000Z","dependencies_parsed_at":"2024-10-29T04:03:44.856Z","dependency_job_id":null,"html_url":"https://github.com/Sucho6996/EcommerceBackend","commit_stats":null,"previous_names":["sucho6996/ecommercebackend-payment-gateway-will-added-soon-"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sucho6996%2FEcommerceBackend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sucho6996%2FEcommerceBackend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sucho6996%2FEcommerceBackend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sucho6996%2FEcommerceBackend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sucho6996","download_url":"https://codeload.github.com/Sucho6996/EcommerceBackend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246182088,"owners_count":20736677,"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":["backend","ecommerce-application","java","microservices","payment-gateway","razorpay","spring-boot","spring-security","webdevelopment"],"created_at":"2024-12-09T17:19:49.183Z","updated_at":"2026-04-28T20:06:05.378Z","avatar_url":"https://github.com/Sucho6996.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛒 Ecommerce Backend API\n\nThis project is a *Microservices-based Ecommerce Backend API* built using *Spring Boot* and *Spring Security. The backend manages product listings, sellers, customers, orders, and integrates **Razorpay* for payment processing. All services communicate using REST APIs, and *PostgreSQL* is used for data management.\n\n![Spring Boot](https://img.shields.io/badge/Spring%20Boot-6DB33F.svg?style=flat\u0026logo=spring-boot\u0026logoColor=white)\n![Spring Security](https://img.shields.io/badge/Spring%20Security-6DB33F.svg?style=flat\u0026logo=spring\u0026logoColor=white)\n![Java](https://img.shields.io/badge/Java-007396.svg?style=flat\u0026logo=java\u0026logoColor=white)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192.svg?style=flat\u0026logo=postgresql\u0026logoColor=white)\n![Razorpay](https://img.shields.io/badge/Razorpay-2C64C3.svg?style=flat\u0026logo=razorpay\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/Docker-2496ED.svg?style=flat\u0026logo=docker\u0026logoColor=white)\n\n## 📝 *Table of Contents*\n1. [Features](#features)\n2. [Technologies](#technologies)\n3. [Architecture](#architecture)\n4. [Setup](#setup)\n5. [Usage](#usage)\n6. [API Endpoints](#api-endpoints)\n7. [Contributing](#contributing)\n8. [License](#license)\n\n## 🌟 *Features*\n* 🔑 *User authentication and authorization* with *Spring Security*.\n* 🛍️ *CRUD operations* for products, sellers, customers, and orders.\n* 🏗️ *Microservices architecture* for better scalability and maintainability.\n* 💳 *Integration with Razorpay* for secure transaction handling.\n* 📦 *PostgreSQL* for database management.\n* 🔐 *Secure API endpoints*.\n\n## 💻 *Technologies*\n![Java](https://img.shields.io/badge/Java-007396.svg?style=flat\u0026logo=java\u0026logoColor=white)\n![Spring Boot](https://img.shields.io/badge/Spring%20Boot-6DB33F.svg?style=flat\u0026logo=spring-boot\u0026logoColor=white)\n![Spring Security](https://img.shields.io/badge/Spring%20Security-6DB33F.svg?style=flat\u0026logo=spring\u0026logoColor=white)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192.svg?style=flat\u0026logo=postgresql\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/Docker-2496ED.svg?style=flat\u0026logo=docker\u0026logoColor=white)\n![Maven](https://img.shields.io/badge/Maven-C71A36.svg?style=flat\u0026logo=apache-maven\u0026logoColor=white)\n![Razorpay](https://img.shields.io/badge/Razorpay-2C64C3.svg?style=flat\u0026logo=razorpay\u0026logoColor=white)\n\n## 🏛️ *Architecture*\nThis project follows a *Microservices Architecture*:\n\n* *Product Service*: Manages product details.\n* *Seller Service*: Handles seller operations.\n* *Customer Service*: Handles user data and customer operations.\n* *Order Service*: Manages order details and processes transactions.\n\nEach microservice has its own database schema and communicates with other services through REST APIs.\n\n## 🛠 *Setup*\n\n### 🛑 *Prerequisites*\n* Java 11+\n* Maven\n* PostgreSQL\n* Razorpay API key\n* Docker (optional for containerization)\n\n### 📦 *Installation*\n\n1. *Clone the repository*:\n   bash\n   git clone https://github.com/Sucho6996/EcommerceBackend.git\n   cd EcommerceBackend\n   \n\n2. *Set up PostgreSQL*:\n   - Create a separate database for each microservice: product_db, seller_db, customer_db, order_db.\n   - Update the application.properties file of each microservice with your PostgreSQL configurations.\n\n3. *Build and run each microservice*:\n   bash\n   # Product Service\n   cd product-service\n   mvn clean install\n   mvn spring-boot:run\n\n   # Seller Service\n   cd ../seller-service\n   mvn clean install\n   mvn spring-boot:run\n\n   # Customer Service\n   cd ../customer-service\n   mvn clean install\n   mvn spring-boot:run\n\n   # Order Service\n   cd ../order-service\n   mvn clean install\n   mvn spring-boot:run\n   \n\n### 🐳 *Docker (Optional)*\n\n1. *Build Docker images*:\n   bash\n   docker build -t product-service ./product-service\n   docker build -t seller-service ./seller-service\n   docker build -t customer-service ./customer-service\n   docker build -t order-service ./order-service\n   \n\n2. *Run Docker containers*:\n   bash\n   docker run -d -p 8081:8081 product-service\n   docker run -d -p 8082:8082 seller-service\n   docker run -d -p 8083:8083 customer-service\n   docker run -d -p 8084:8084 order-service\n   \n\n## 🧑‍💻 *Usage*\n\nEach microservice is accessible via different ports:\n\n* *Product Service*: http://localhost:8081\n* *Seller Service*: http://localhost:8082\n* *Customer Service*: http://localhost:8083\n* *Order Service*: http://localhost:8084\n\n## 📬 *API Endpoints*\n\n### 🔖 *Product Service* /product\n* `GET /findAll`: Retrieve all products.\n* `POST /add`: Create a new product.\n* `GET /find/{id}`: Retrieve a product by ID.\n* `GET /search/{keyword}`: Retrieve products based on a keyword search.\n* `GET /image/{id}`: Retrieve a product image by ID.\n* `PUT /modify`: Update a product by ID.\n* `DELETE /delete/{id}`: Delete a product by ID.\n\n\n### 🛍️ *Seller Service* /seller\n* `GET /sellers`: Retrieve all sellers\n* `POST /sellers`: Create a new seller\n* `GET /sellers/{id}`: Retrieve a seller by ID\n* `PUT /sellers/{id}`: Update a seller by ID\n* `DELETE /sellers/{id}`: Delete a seller by ID\n\n\n### 👤 *Customer Service* /user\n* `POST /signin`: Register a new user.\n* `POST /login`: Authenticate a user and return a JWT token.\n* `GET /findAll`: Retrieve all products.\n* `GET /find/{id}`: Retrieve a product by ID.\n* `GET /search/{keyword}`: Retrieve products based on a keyword search.\n* `GET /order`: Place an order with parameters for product ID, seller name, price, and phone number.\n* `GET /cart`: Add a product to the cart with parameters for product ID, seller name, price, and phone number.\n* `GET /view/{id}`: Retrieve user details by user ID (phone number).\n* `GET /orders/{id}`: Retrieve all orders for a user by user ID (phone number).\n* `GET /carts/{id}`: Retrieve all cart items for a user by user ID (phone number).\n* `GET /order/{id}`: Retrieve order details by order ID.\n* `GET /cart/{id}`: Retrieve cart details by cart ID.\n* `POST /save`: Save user details.\n\n\n### 📦 *Order Service* /order\n* `GET /view/orders/{id}`: Retrieve all orders for a user by user ID.\n* `GET /view/carts/{id}`: Retrieve all cart items for a user by user ID.\n* `GET /view/orderDetails/{id}`: Retrieve order details by order ID.\n* `GET /view/cartDetails/{id}`: Retrieve cart details by cart ID.\n* `POST /create/order`: Create a new order with product details (integrated with Razorpay for payment).\n* `POST /paymentCallback`: Update order status based on the payment response (callback from Razorpay).\n* `POST /save/cart`: Add a product to the cart with product details.\n* `GET /user/{phNo}`: Retrieve user details by phone number.\n* `GET /seller/{sellername}`: Retrieve seller details by seller name.\n* `GET /product/{pId}`: Retrieve product details by product ID.\n\n\n## 🤝 *Contributing*\nContributions are welcome! Please follow these steps:\n1. Fork the repository 🍴\n2. Create a feature branch 🚀\n   bash\n   git checkout -b feature-branch\n   \n3. Commit your changes 💾\n   bash\n   git commit -m 'Add new feature'\n   \n4. Push to the branch 📤\n   bash\n   git push origin feature-branch\n   \n5. Open a pull request 📬\n\n## 📜 *License*\nThis project is licensed under the MIT License. See the LICENSE file for details.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsucho6996%2Fecommercebackend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsucho6996%2Fecommercebackend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsucho6996%2Fecommercebackend/lists"}