{"id":21170189,"url":"https://github.com/subhashchandra-birajdar/ecommerce-springboot-backend-project","last_synced_at":"2026-05-10T10:15:12.977Z","repository":{"id":252877339,"uuid":"840620682","full_name":"Subhashchandra-Birajdar/ECommerce-SpringBoot-Backend-Project","owner":"Subhashchandra-Birajdar","description":"This REST API is designed for an e-commerce application, enabling core CRUD operations with user authentication,seller authentication. It includes modules for user login/logout, product management, and order processing, ensuring secure and efficient transactions for both sellers and customers.","archived":false,"fork":false,"pushed_at":"2024-08-20T12:09:15.000Z","size":242,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T10:50:59.803Z","etag":null,"topics":["authentication-backend","ecommerce","hibernate-jpa","mysql-database","restful-api","security","springboot","swagger-ui","token"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Subhashchandra-Birajdar.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":"2024-08-10T07:14:46.000Z","updated_at":"2024-08-20T12:11:54.000Z","dependencies_parsed_at":"2024-08-20T13:59:28.774Z","dependency_job_id":null,"html_url":"https://github.com/Subhashchandra-Birajdar/ECommerce-SpringBoot-Backend-Project","commit_stats":null,"previous_names":["subhashchandra-birajdar/ecommerce-springboot-backend-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Subhashchandra-Birajdar%2FECommerce-SpringBoot-Backend-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Subhashchandra-Birajdar%2FECommerce-SpringBoot-Backend-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Subhashchandra-Birajdar%2FECommerce-SpringBoot-Backend-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Subhashchandra-Birajdar%2FECommerce-SpringBoot-Backend-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Subhashchandra-Birajdar","download_url":"https://codeload.github.com/Subhashchandra-Birajdar/ECommerce-SpringBoot-Backend-Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243616707,"owners_count":20319943,"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":["authentication-backend","ecommerce","hibernate-jpa","mysql-database","restful-api","security","springboot","swagger-ui","token"],"created_at":"2024-11-20T15:56:52.921Z","updated_at":"2026-05-10T10:15:07.940Z","avatar_url":"https://github.com/Subhashchandra-Birajdar.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-Commerce Application REST API\n\nThis repository contains a REST API developed for an e-commerce application. The API supports fundamental CRUD operations required by any e-commerce platform, with user authentication and validation at every step.\n\n## E-R Diagram for the application\n\n![E-Commerce API ER Diagram](https://github.com/user-attachments/assets/c32f6197-fd6f-4f1d-ab8c-c8a590beed1a)\n\n## Tech Stack\n- **Java**\n- **Spring Framework**\n- **Spring Boot**\n- **Spring Data JPA**\n- **Hibernate**\n- **MySQL**\n\n## Modules\n\n- **Login \u0026 Logout Module**\n- **Seller Module**\n- **Customer Module**\n- **Product Module**\n- **Cart Module**\n- **Order Module**\n\n## Features\n\n### General Features\n- **Authentication \u0026 Validation**: \n  - Both Customer and Seller are authenticated using a session token that is valid for 1 hour to ensure secure transactions.\n  \n### Seller Features\n- **Administrator Role**: The seller has administrative control over the application.\n- **Product Management**: Only registered sellers with a valid session token can add, update, or delete products in the main database.\n- **Order Management**: Sellers can access details of various customers and their orders.\n\n### Customer Features\n- **Registration and Login**: Customers can register on the application and log in to receive a valid session token.\n- **Product Browsing**: Customers can view different products, add them to their cart, and place orders.\n- **Personalized Access**: Logged-in customers can access their orders, cart, and other features.\n\n## Installation \u0026 Run\n\n1. **Clone the repository**:\n   ```bash\n   git clone https://github.com/subhashchandra-birajdar/ecommerce-app.git\n   cd ecommerce-app\n\n## API Root Endpoint\n\n`https://localhost:9000/`\n\n`http://localhost:9000/swagger-ui/index.html#/`\n\n\n## API Module Endpoints\n\n### Login \u0026 Logout Module\n\n* `POST /register/customer` : Register a new customer\n* `POST /login/customer` : Logging in customer with valid mobile number \u0026 password\n* `POST /logout/customer` : Logging out customer based on session token\n* `POST /register/seller` : Register a new seller\n* `POST /login/seller` : Logging in Seller\n* `POST /logout/seller` : Logging out Seller based on session token\n\n\n### Customer Module\n\n* `GET /customer/current` : Getting currently logged in customer\n* `GET /customer/orders` : Getting order history of logged in customer\n* `GET /customers` : Getting All customers\n* `PUT /customer` : Updates logged in customer\n* `PUT /customer/update/password` : Updates customer password\n* `PUT /customer/update/card` : Updates credit card details\n* `PUT /customer/update/address?type=home` : Updates customer's home address\n* `PUT /customer/update/credentials` : Updates email address and mobile number\n* `DELETE /customer` : Deletes logged in user with valid session token\n* `DELETE /customer/delete/address?type=home` : Deletes customer's home address\n\n\n### Seller Module\n\n* `GET /seller/{sellerid}` : Gets seller with passed seller Id\n* `GET /seller/current` : Gets seller details for currently logged in seller\n* `GET /sellers` : Gets all sellers\n* `POST /addseller` : Adding new seller\n* `PUT /seller` : Updates seller details\n* `PUT /seller/update/password` : Updates seller password\n* `PUT /seller/update/mobile` : Updates seller mobile number\n* `DELETE /seller/{sellerid}` : Deletes seller with passed id\n\n\n### Product Module\n\n* `GET /product/{id}` : Gets product with given product id\n* `GET /products` : Gets all products\n* `GET /products/{category}` : Gets product with given category\n* `GET /products/seller/{id}` : Gets product of given seller id\n* `POST /products` : Adds a new product to database\n* `PUT /products` : Updates the product with given product id\n* `PUT /products/{id}` : Updates product quantity\n* `DELETE /product/{id}` : Deletes product with given id\n\n\n### Cart Module\n\n* `GET /cart` : Get all items in Customer Cart\n* `POST /cart/add` : Add item to Cart\n* `DELETE /cart` : Remove item from Cart\n* `DELETE /cart/clear` : Clear entire cart\n\n\n### Order Module\n\n* `GET /orders/{id}` : Gets order details with given order id\n* `GET /orders` : Gets all orders\n* `GET /orders/by/date` : Gets orders placed on given date (DD-MM-YYYY)\n* `POST /order/place` : Places a new order based on cart items\n* `PUT /orders/{id}` : Updates a pending order\n* `DELETE /orders/{id}` : Cancels an order\n\n\n### Sample API Response for Customer Login\n\n`POST   localhost:9000/login/customer`\n\n* Request Body\n\n```\n    {\n        \"mobileId\": \"9999999999\",\n        \"password\": \"shyam123456\"\n    }\n```\n\n* Response\n\n```\n    {\n        \"sessionId\": 23,\n        \"token\": \"customer_0ad57094\",\n        \"userId\": 19,\n        \"userType\": \"customer\",\n        \"sessionStartTime\": \"2022-06-10T10:48:20.0109626\",\n        \"sessionEndTime\": \"2022-06-10T11:48:20.0109626\"\n    }\n```\n   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubhashchandra-birajdar%2Fecommerce-springboot-backend-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubhashchandra-birajdar%2Fecommerce-springboot-backend-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubhashchandra-birajdar%2Fecommerce-springboot-backend-project/lists"}