https://github.com/bourgui07/inventorymanagsystem
https://github.com/bourgui07/inventorymanagsystem
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bourgui07/inventorymanagsystem
- Owner: BOURGUI07
- Created: 2024-06-02T10:32:55.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-02T10:38:20.000Z (over 1 year ago)
- Last Synced: 2025-03-17T01:23:47.984Z (12 months ago)
- Language: Java
- Size: 61.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Inventory Management System
## Description
This project is a console-based application developed in Core Java, designed to manage inventory operations. It serves as a management system where administrators can perform various tasks related to inventory management, including product management, inventory tracking, order processing, reporting, and more. The application is built to demonstrate object-oriented programming principles, console I/O operations, and unit testing with JUnit in Java, tailored specifically for inventory management.
## Features
1. **User Authentication and Authorization**
- Secure login system to ensure that only authorized personnel can access the system.
- Different roles such as admin and manager with specific permissions.
```
Inventory Management System
Login
Username: ___________
Password: ___________
[Login]
```
2. **Product Management**
- Add, edit, and delete product details in the inventory.
- Capture essential product information such as Product ID, Name, Description, Price, and Quantity.
```
Inventory Management System
Product Management
1. Add Product
2. Edit Product
3. Delete Product
4. Back
Enter your choice: _
```
3. **Inventory Tracking**
- Track the quantity of products in the inventory.
- Provides a detailed view of current inventory levels.
```
Inventory Management System
Inventory Tracking
Product Name Quantity
------------------------------
Product A 100
Product B 50
Product C 75
...
```
4. **Order Processing**
- Create, track, and update orders.
- Record order details including Order ID, Product ID, Quantity, Order Date, and Status.
```
Inventory Management System
Order Processing
1. Create New Order
2. Track Order Status
3. Update Order Status
4. Back
Enter your choice: _
```
5. **Reporting**
- Generate reports on inventory levels, sales trends, top-selling products, and pending orders.
```
Inventory Management System
Reporting
1. Inventory Levels
2. Sales Trends
3. Top Selling Products
4. Pending Orders
5. Back
Enter your choice: _
```
6. **Search and Filtering**
- Search for products and filter inventory and orders based on various criteria.
```
Inventory Management System
Search and Filtering
1. Search Products
2. Filter Inventory
3. Filter Orders
4. Back
Enter your choice: _
```
7. **Audit Trail**
- Maintain an audit trail of all actions performed in the system for accountability and traceability.
```
Inventory Management System
Audit Trail
Date User Action
--------------------------------------------------------
2024-05-13 09:30:00 admin Added Product A
2024-05-13 10:15:00 manager Updated Quantity of Product B
...
```
8. **Notifications**
- Notify users about important events such as low inventory alerts and order status updates.
```
Inventory Management System
Notifications
- Low Inventory Alert: Product A
- Order Shipped: Order #1234
...
```
9. **User Interface**
- Main menu interface to navigate through different features of the system.
```
Inventory Management System
Main Menu
1. Product Management
2. Inventory Tracking
3. Order Processing
4. Reporting
5. Search and Filtering
6. Data Backup and Restore
7. Audit Trail
8. Notifications
9. Logout
Enter your choice: _
```
## Technologies Used
- **Java SE (Standard Edition)**: Core language for developing the application.
- **JUnit Framework**: For unit testing of the application's components.
- **Console I/O**: For interaction with the user via the console.
- **Collections Framework**: Utilized for managing products, orders, and inventory information efficiently.
- **Object-Oriented Programming (OOP)**: Design paradigm to structure the application using objects and classes.