{"id":29189910,"url":"https://github.com/vaishnaviyerdoni/inventory_management_system","last_synced_at":"2026-05-02T17:35:15.097Z","repository":{"id":301948945,"uuid":"1010754020","full_name":"vaishnaviyerdoni/Inventory_Management_System","owner":"vaishnaviyerdoni","description":"A Full Stack System built using Java for backend Logic, SQL Server for database and HTML, CSS and JavaScript for frontend.","archived":false,"fork":false,"pushed_at":"2025-08-17T17:35:43.000Z","size":76,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-17T19:25:13.048Z","etag":null,"topics":["css","html","java","javascript","sql-server"],"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/vaishnaviyerdoni.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":"2025-06-29T18:25:22.000Z","updated_at":"2025-08-17T17:35:47.000Z","dependencies_parsed_at":"2025-06-29T19:42:52.455Z","dependency_job_id":null,"html_url":"https://github.com/vaishnaviyerdoni/Inventory_Management_System","commit_stats":null,"previous_names":["vaishnaviyerdoni/inventory_management_system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vaishnaviyerdoni/Inventory_Management_System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnaviyerdoni%2FInventory_Management_System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnaviyerdoni%2FInventory_Management_System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnaviyerdoni%2FInventory_Management_System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnaviyerdoni%2FInventory_Management_System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaishnaviyerdoni","download_url":"https://codeload.github.com/vaishnaviyerdoni/Inventory_Management_System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaishnaviyerdoni%2FInventory_Management_System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003726,"owners_count":26083610,"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-10-10T02:00:06.843Z","response_time":62,"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":["css","html","java","javascript","sql-server"],"created_at":"2025-07-01T23:18:20.351Z","updated_at":"2025-10-10T11:13:33.221Z","avatar_url":"https://github.com/vaishnaviyerdoni.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Inventory Management System\n\n\n\n## Table of Contents\n| Sr No | Content                         | \n| ----- | ---------------------------| \n| 1     | Introduction                     | \n| 2     |  Features                          | \n| 3     | Tech Stack                        |\n| 4     |Installation Instructions    |\n| 5     |Project File structure        |\n| 6     |     Usage                          |\n| 7     |API Endpoints                   |\n\n\n\n\n\n## Introduction\n**Inventory Management System** is a full stack web application that enables Admin and Staff to manage inventory, monitor stock levels and manage the user accounts.\nIt also allows Customers along with admin and staff, to place orders for the goods based on the availability  of product in the inventory.\nThe Inventory Management System is built in *Java Programming Language* for backend logic, *SQL Server* as Database and *HTML*, *CSS* and *JavaScript* for Frontend interface.\n## Tech Stack\n\n- **Backend:** Java Programming Language\n- **Database:** SQL Server\n- **Frontend:** HTML, CSS, JavaScript\n- **Tools:** Apache Tomcat, JDBC\n\n## Features\n\n- User Registration and User Authentication\n- Role based Dashboards\n- CRUD operations for Inventory\n- Placing and Updating Order\n- Passcode and Email reset\n- User deletion\n\n\n\n## File Structure\n- /Business_Layer    ---Business Logic\n- /Controller_Layer  ---Java Servlet\n- /DAO_Layer         ---CRUD operations and DB Connection\n- /Exceptions        ---Custom Written Exceptions\n- /Model_Layer       ---POJO Classes\n- /WebContent        ---HTML, CSS, JS\n## Installation Instructions\n\n1. Clone the repository.\n2. Import the project to your preferred IDE, I used VSCode, but you can use whichever IDE you're comfortable with.\n3. Set up the database in SQL server using the inventory.sql from the Database folder.\n4. Configure the JDBC Connection adjusting the Connection in DBConnection.java from DAO_Layer folder.\n5. Deploy the System on Apache tomcat.\n```bash\n  jar -cvf InventorySystem.war -C WebContent/ .\n```\n6. Go to following link to register, and after successful registration you'll be redirected to Login Page.\n```bash\n  http://localhost:8080/InventorySystem/User/register.html\n```\n7. Once logged in you're ready to use the System!\n\n    \n## Usage\nVisit the following link to register:\n```bash\nhttp://localhost:8080/InventorySystem/User/register.html\n```\nOnce registered successfully, you can login and based on your role: Admin, Staff or Customer, you will be taken to the respective Dashboard.\n\nYou can navigate the dashboard using the buttons and each button will take you to your desired page. A user can place order, update their credentials. Admin can delete the unnecessary records\nwhereas admin or staff can view, update and keep track of inventory and order information.\n\n\n## API Endpoints\n\n## 1. Inventory\n\n### GET\n\n#### Get all items\n```http\n GET /InventorySystem/inventory?action=viewAll\n```\n\n| Parameter | Type     | Description                              | Required |\n| :-------- | :------- | :----------------------------------------|----------|\n| `None`    |`None`    | `Returns all the Items in the inventory` | `No`     |\n\n#### Get items by category\n```http\n  GET /InventorySystem/inventory?action=viewByCategory\u0026category=${category}\n```\n\n| Parameter | Type     | Description                                      | Required |\n| :-------- | :------- | :------------------------------------------------|----------|\n| `category`| `String` |`Returns the items in Inventory by their category`|`Yes`     |\n\n#### Get the price of an Item\n```http\n  GET /InventorySystem/inventory?action=getPricebyItemID\u0026itemId=${itemId}\u0026itemName=${itemName}\n```\n\n| Parameter | Type     | Description                              | Required |\n| :-------- | :------- | :----------------------------------------|----------|\n| `itemId`  | `int`    | `The unique id for each item in inventory`| `Yes`   |\n| `itemName`| `String` | `The name of the item`                    | `Yes`   |\n\n### POST\n\n#### Insert an item in the Inventory\n```http\n POST /InventorySystem/inventory\n```\n\n| Parameter | Type     |              Description                   | Required |\n|-----------| :--------|:-------------------------------------------|----------|\n| `userId`  | `String` | `Unique id of user Inserting the Item`     |  `Yes`   |\n| `itemName`| `String` | `Name of item to be inserted`              |  `Yes`   |\n| `category`| `String` | `category of the Item(eg. Stationary-book)`|  `Yes`   | \n| `price`   | `double` | `price of the Item`                        |  `Yes`   |\n| `quantity`| `int`    | `quantity of item in inventory`            |  `Yes`   |\n| `LowStockThreshold`  | `int`|`Threshold of low stock`             |  `Yes`   |\n\n### PUT\n\n#### Update the price of the item\n```http\n PUT /InventorySystem/inventory\n```\n| Parameter | Type     | Description                                | Required |\n| :-------- | :------- | :----------------------------------------  |----------|\n| `itemId`  | `int`    | `The unique id for each item in inventory` | `Yes`    |\n| `userId`  | `int`    | `The unique id of user Updating price`     | `Yes`    |\n| `newPrice`| `double` | `The new price for the item`               | `Yes`    |\n\n#### Update the Stock \n```http\n PUT /InventorySystem/inventory\n```\n| Parameter | Type     | Description                                | Required |\n| :-------- | :------- | :------------------------------------------|----------|\n| `itemId`  | `int`    | `The unique id for each item in inventory` | `Yes`    |\n| `userId`  | `int`    | `The unique id of user Updating price`     | `Yes`    |\n|`newQuantity`|`double`| `The quantity to add in inventory`         | `Yes`    |\n\n### DELETE\n\n#### Delete the item from  the inventory\n```http\n DELETE /InventorySystem/inventory?action=deleteItem\u0026itemId=${itemId}\u0026userId=${userId}\n```\n| Parameter | Type |             Description               | Required |\n| :---------|:-----|:--------------------------------------|:---------|\n| `itemId`  | `int`| `Unique id of the item to be deleted` | `Yes`    |\n| `userId`  | `int`| `Unique id of user deleting the item` | `Yes`    |\n\n## 2. User\n\n### GET\n\n#### To view all the users\n```http\n GET /InventorySystem/user?action=viewUserInfo\u0026userId=${userId}\n```\n| Parameter | Type |             Description             | Required |\n| :---------|:-----|:------------------------------------|:---------|\n| `userId`  | `int`|`Unique id of user viewing the users`|   `Yes`  |\n\n### POST\n\n#### Register User\n```http\n POST  /InventorySystem/user\n```\n| Parameter | Type     | Description                                    | Required |\n| :-------- | :------- | :----------------------------------------------|----------|\n| `userName`| `String` | `The unique username of user's choice`         |  `Yes`   |\n| `passcode`| `String` | `The passcode of user's choice`                |  `Yes`   |\n| `email`   | `String` | `User's email address`                         |  `Yes`   |\n| `role`    | `String` |`User must choose role (admin, staff, customer)`|  `Yes`   |\n\n\n `**Note:** System allows 5 admin and 10 staff registrations, rest will have to be customers.`\n\n#### User Login\n```http\n  POST /InventorySystem/user\n```\n| Parameter | Type     | Description                                    | Required |\n| :-------- | :------- | :----------------------------------------------|----------|\n| `userId`  | `int`    | `unique id for each user`                      |  `Yes`   |\n| `userName`| `String` | `The unique username of user's choice`         |  `Yes`   |\n| `passcode`| `String` | `The passcode of user's choice`                |  `Yes`   |\n| `role`    | `String` | `User role (admin, staff, customer)`           |  `Yes`   |\n\n### PUT\n#### Update the passcode\n```http\n PUT /InventorySystem/user\n```\n| Parameter | Type     | Description                                 | Required |\n| :-------- | :------- | :-------------------------------------------|----------|\n| `userId`  | `int`    | `The unique id of user Updating passcode`   | `Yes`    |\n| `userName`| `String` | `The unique username of the user`           | `Yes`    |\n|`newPasscode`|`String`| `The new passcode that user wants to update`| `Yes`    |\n\n#### Update the email\n```http\n PUT /InventorySystem/user\n```\n| Parameter | Type     | Description                               | Required |\n| :-------- | :------- | :-----------------------------------------|----------|\n| `userId`  | `int`    | `The unique id of user Updating passcode`   | `Yes`  |\n| `userName`| `String` | `The unique username of the user`           | `Yes`  |\n| `newEmail`|`String`  | `The new Email that user wants to update`   | `Yes`  |\n\n### DELETE \n\n#### User deletes their account\n```http\n DELETE /InventorySystem/user?action=UserDeletesTheirAccount\u0026userId=${(userId}\u0026userName=${userName}\n```\n| Parameter | Type    | Description                  | Required |\n|:----------|:--------|:-----------------------------|:---------|\n|`userName` |`String` | `unique userName of the user`| `Yes`    |\n|`userId`   |`int`    | `unique id for each user`    | `Yes`    |\n\n#### Admin deletes user\n```http\n DELETE /InventorySystem/user?action=AdminDeletesUser\u0026AdminUserId=${AdminUserId}\u0026UserId=${UserId}\n```\n| Parameter | Type    | Description                   | Required |\n|:----------|:--------|:------------------------------|:---------|\n|`AdminId`  |`int`    | `Admin's unique userId`       | `Yes`    |\n|`userId`   |`int`    | `userId of user to be deleted`| `Yes`    |\n\n## 3. Order\n\n#### GET\n\n#### get information about all orders\n```http\n GET /InventorySystem/order?action=getAllOrders\u0026userId=${userId}\n```\n| Parameter | Type    | Description                 | Required |\n|:----------|:--------|:----------------------------|:---------|\n|`userId`   |`int`    | `unique id for each user`   | `Yes`    |\n\n#### get the order information by orderId\n```http\n GET /InventorySystem/order?action=viewByOrderId\u0026orderId=${orderId}\u0026userId=${userId}\n```\n|Parameter| Type| Description              | Required |\n|---------|-----|--------------------------|----------|\n|`userId `|`int`|`unique id for each user` | `Yes`    |\n|`orderId`|`int`|`unique id for each order`| `Yes`    |\n\n#### get the order information by userId\n\n| Parameter | Type    | Description                 | Required |\n|:----------|:--------|:----------------------------|:---------|\n|`userId`   |`int`    | `unique id for each user`   | `Yes`    |\n\n#### get price of an order\n```http\n GET /InventorySystem/order?action=getPrice\u0026orderId=${orderId}\n```\n| Parameter | Type     | Description                              | Required |\n| :-------- | :------- | :----------------------------------------|----------|\n| `orderId` | `int`    | `The unique id for each order in system` | `Yes`    |\n\n#### get all items that are ordered from Inventory\n```http\n GET /InventorySystem/order?action=viewItems\u0026userId=${userId}\n```\n| Parameter | Type    | Description                 | Required |\n|:----------|:--------|:----------------------------|:---------|\n|`userId`   |`int`    | `unique id for each user`   | `Yes`    |\n\n#### get the items belonging to an individual order\n```http\n GET /InventorySystem/order?action=ItemsbyOrderId\u0026userId=${userId}\u0026orderId=${orderId }\n```\n| Parameter | Type     | Description                              | Required |\n| :-------- | :------- | :----------------------------------------|----------|\n| `orderId` | `int`    | `The unique id for each order in system` | `Yes`    |\n\n### POST\n\n### Place order\n```http\n POST /InventorySystem/order\n```\n|Parameter      | Type   |  Description              | Required |\n|---------------| -------|---------------------------|----------|\n|`userId`       |`int`   | `unique id for each user` |  `Yes`   |\n|`orderDate`    |`String`| `date of placing order`   |  `Yes`   |\n|`customer name`|`String`| `name of user`            |  `Yes`   |\n\n### Add Items to the order\n```http\n POST /InventorySystem/order\n```\n| Parameter | Type     | Description                                    | Required |\n| :-------- | :------- | :----------------------------------------------|----------|\n| `orderId` | `int`    | `unique id for each order`                     |  `Yes`   |\n| `userId`  | `int`    | `unique id for each user`                      |  `Yes`   |\n| `items   `| `String` | `The items that user wants to buy`             |  `Yes`   |\n| `quantity`| `int`    | `quantity of each item needed to be bought`    |  `Yes`   |\n\n### PUT\n\n### Update the total price of an order\n```http\n PUT /InventorySystem/order\n```\n|Parameter|  Type  |Description                      |Required|\n|:--------|:-------|:--------------------------------|--------|\n| `price` |`double`| `The price that will be updated`| `Yes`  |\n|`orderId`|`int`   | `The unique id of the order`    | `Yes`  |\n| `userId`|`int`   |  `The unique id of the user`    | `Yes`  |\n\n### Update the order status\n```http\n PUT /InventorySystem/order\n```\n|Parameter|  Type  |Description                      |Required|\n|:--------|:-------|:--------------------------------|--------|\n| `Status`|`String`|`The status that will be updated`| `Yes`  |\n|`AdminId`|`int`   | `The unique id of the order`    | `Yes`  |\n| `userId`|`int`   |  `The unique id of the user`    | `Yes`  |\n\n### Update quantity of items in an order\n```http\n PUT /InventorySystem/order\n```\n\n| Parameter | Type| Description                                        | Required |\n|-----------|-----|----------------------------------------------------|----------|\n|`itemsId`  |`int`|`unique id given to each item that has been ordered`| `Yes`    |\n|`userId`   |`int`|`unique id for each user`                           | `Yes`    |\n|`nQuantity`|`int`|`The new updated quantity of items to add in order` | `Yes`    |\n|`itemId`   |`int`|`The unique id for each item in the inventory`      | `Yes`    |\n\n\n### Delete\n\n### Admin deletes order\n```http\n DELETE /InventorySystem/order?action=AdminDeletesOrder\u0026userId=${userId}\u0026orderId=${orderId}\n```\n|Parameter|Type |Description                       | Required |\n|---------|-----|----------------------------------|----------|\n|`UserId` |`int`|`Unique userId of Admin`          |  `Yes`   |\n|`orderId`|`int`|`unique id of order to be deleted`|  `Yes`   |\n\n### Admin deletes item\n```http\n DELETE /InventorySystem/order?action=AdminDeletesItem\u0026userId=${userId}\u0026itemsId=${itemsId}\n```\n|Parameter |Type |Description                       | Required |\n|----------|-----|----------------------------------|----------|\n|`UserId`  |`int`|`Unique userId of Admin`          |  `Yes`   |\n|`itemsId` |`int`|`unique id of item to be deleted` |  `Yes`   |\n\n`**Note:** Delete items before deleting order.`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaishnaviyerdoni%2Finventory_management_system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaishnaviyerdoni%2Finventory_management_system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaishnaviyerdoni%2Finventory_management_system/lists"}