Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inventory Management System

A Spring Boot web application for managing stock items, users, orders, suppliers, expiry tracking, alerts, and operational reports. The system uses JSP pages for the user interface and simple text-file storage for project data.

Technologies Used

  • Java 17
  • Spring Boot 3.4.4
  • Spring MVC
  • Apache Maven
  • JSP
  • JSTL / Jakarta Servlet JSP JSTL
  • Embedded Apache Tomcat
  • Lombok
  • HTML, CSS, and JSP views
  • Text-file based persistence
  • IntelliJ IDEA compatible project structure

System Components

Component 01 - Stock Management

Handles inventory item creation, listing, updating, and deletion.

  • Add perishable and non-perishable stock items
  • Store item ID, name, quantity, supplier, and expiry date where applicable
  • Update stock details
  • Delete stock records
  • View all available stock
  • Uses stack-based item storage in StockService

Main routes:

  • /stock/add
  • /stock/list
  • /stock/update/{id}

Component 02 - Expiry Management

Tracks and displays stock items by expiry date.

  • Sorts perishable items by expiry date
  • Places non-perishable items after items with expiry dates
  • Uses merge sort logic through MergeSortUtil

Main route:

  • /expiry/view

Component 03 - User Management

Manages users who can be associated with orders.

  • Add users
  • List users
  • Update user details
  • Delete users
  • Validates user ID, name, and email
  • Sorts users by ID

Main routes:

  • /user/add
  • /user/list
  • /user/update/{id}

Component 04 - Order Management

Handles customer/user orders for stock items.

  • Place orders
  • Validate user ID and stock item ID
  • Check available stock quantity
  • Reduce stock quantity after order placement
  • Cancel orders and restore stock quantity
  • List all orders sorted by order date

Main routes:

  • /order/add
  • /order/list
  • /order/cancel

Component 05 - Reports

Provides a dashboard summary of important system data.

  • Total stock items
  • Low-stock items
  • Total stock quantity
  • Total orders
  • Most ordered item
  • Recent orders
  • Total users
  • Most active user
  • Total suppliers
  • Most active supplier

Main route:

  • /report/dashboard

Component 06 - Alerts

Manages stock and expiry alerts.

  • Generate low-stock alerts
  • Generate expiry alerts
  • View active alerts
  • View alert details
  • Mark alerts as resolved
  • Delete alerts
  • Sort alerts by created date

Main routes:

  • /alert/dashboard
  • /alert/details/{id}
  • /alert/resolve/{id}
  • /alert/delete/{id}

Component 07 - Supplier Management

Manages supplier information used by stock items.

  • Add suppliers
  • List suppliers
  • Update supplier details
  • Delete suppliers
  • Link suppliers with stock items

Main routes:

  • /supplier/add
  • /supplier/list
  • /supplier/edit/{id}
  • /supplier/delete/{id}

Project Structure

src/main/java/com/ismysystem/inventorystocksystem
├── Controller
├── Model
├── Service
├── HomeController.java
├── TestController.java
└── InventoryStockSystemApplication.java

src/main/webapp/WEB-INF/views
├── Component01
├── Component02
├── Component03
├── Component04
├── Component05
├── Component06
├── Component07
└── index.jsp

Data Files

The application stores data in text files in the project root:

  • items.txt - stock item records
  • orders.txt - order records
  • users.txt - user records
  • alerts.txt - alert records

How to Run

Requirements

  • Java 17 or newer
  • Maven, or use the included Maven wrapper
  • IntelliJ IDEA or another Java IDE

Run With IntelliJ IDEA

  1. Open IntelliJ IDEA.
  2. Open the project folder.
  3. Wait for Maven dependencies to load.
  4. Set the Project SDK to Java 17.
  5. Open InventoryStockSystemApplication.java.
  6. Run the main method.
  7. Open the application in a browser:
http://localhost:8083

Run From Terminal

./mvnw spring-boot:run

Then visit:

http://localhost:8083

Build and Test

Run the test suite:

./mvnw test

Build the project:

./mvnw clean package

Configuration

The main configuration is in src/main/resources/application.properties.

spring.application.name=inventory-stock-system
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
server.port=8083

Notes

  • The application uses JSP files under WEB-INF/views.
  • The server runs on port 8083.
  • Data is stored locally in text files, so no external database setup is required.
  • The project is designed as an educational inventory and stock management system.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages