Skip to content

πŸ“¦ Inventory Management System A Java-based tool for efficient inventory tracking and management. πŸ–₯️ πŸ”‘ Key Features: β€’ CRUD operations for products, categories, and suppliers πŸ“ β€’ Transaction logging and financial summaries πŸ’° β€’ Low stock alerts and inventory insights πŸ“Š β€’ Sql based data persistence πŸ’Ύ Perfect for small businesses

License

Notifications You must be signed in to change notification settings

realYushi/Inventory-Management-System

Repository files navigation

Forks Stargazers Issues MIT License LinkedIn


Logo

Inventory Management System

An advanced tool designed to simplify the complexities of inventory management.
Explore the docs Β»

View Demo Β· Report Bug Β· Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Project Structure
  4. License
  5. Contact
  6. Acknowledgments
video.mp4

About The Project

The Inventory Management System is a desktop application crafted to streamline inventory management for small to medium-sized businesses. It features a user-friendly interface designed to simplify the tracking and organization of products, categories, suppliers, and inventory transactions, all while providing key insights for effective decision-making.

Key Features

  • Dashboard Overview

    • Comprehensive financial summary, including real-time sales, costs, and profit insights
    • Alerts for low stock levels
    • Quick access to recent transactions for up-to-date monitoring
  • Product Management

    • Full suite of CRUD (Create, Read, Update, Delete) operations
    • Seamless product association with categories and suppliers
    • Real-time stock level monitoring
    • Easy tracking of units, pricing, and product details
  • Category Management

    • Efficient product categorization and organization
    • Management of category-supplier relationships
    • Reporting and insights based on product categories
  • Supplier Management

    • Centralized supplier information management
    • Tracking of supplier-product relationships
    • Integrated contact management for streamlined communication
  • Inventory Transactions

    • Sales tracking with revenue insights
    • Purchase management with cost monitoring
    • Spoilage tracking for accurate inventory maintenance

Screenshots

Dashboard View

Dashboard Monitor your business metrics at a glance with our intuitive dashboard.

Product Management

Product Management Efficiently manage your product inventory with detailed tracking.

Category Management

Category Management Organize products into categories for better inventory control.

Supplier Management

Supplier Management Keep track of your suppliers and their associated products.

Transaction Management

Transaction Management Record and track all inventory movements with ease.

Architecture

Architecture Overview

The application follows a layered architecture:

  • View Layer: Swing-based user interface components providing intuitive interaction
  • Controller Layer: Handles user input and coordinates between View and Service layers
  • Service Layer: Implements core business logic and transaction management
  • Repository Layer: Manages data access and persistence using Hibernate/JPA
  • Model Layer: Contains domain entities and business rules
  • Database Layer: Apache Derby database for reliable data storage

View Layer (UI)

  • Swing-based user interface components
  • Responsive panel layouts
  • User input handling
  • Real-time updates

Controller Layer

  • User input processing
  • View-Service coordination
  • Input validation
  • Error handling

Service Layer

  • Business logic implementation
  • Transaction management
  • Data validation
  • Cross-cutting concerns

Repository Layer

  • Data access interfaces
  • Hibernate/JPA implementation
  • Transaction handling
  • Query optimization

Model Layer

  • Entity classes with JPA annotations
  • Business logic validation
  • Relationship mappings
  • Data integrity rules

Built With

  • Java 11
  • Swing (UI Framework)
  • Hibernate/JPA (Persistence)
  • Apache Derby (Database)
  • Maven (Build Tool)
  • JUnit & Mockito (Testing)

Getting Started

Prerequisites

  • Java JDK 11 or higher
  • Maven 3.6 or higher
  • Apache Derby Database

Installation

  1. Clone the repository

    git clone https://github.com/realYushi/Inventory-Management-System.git
  2. Navigate to project directory

    cd Inventory-Management-System
  3. Build the project

    mvn clean install
  4. Run the application

    java -jar target/inventoryManagementSystem-0.1.jar

Project Structure

src/
└── main/
    β”œβ”€β”€ java/me/yushi/inventorymanagementsystem/
    β”‚   β”œβ”€β”€ controller/ # UI Controllers
    β”‚   β”œβ”€β”€ model/ # Entity Classes
    β”‚   β”œβ”€β”€ repository/ # Data Access Layer
    β”‚   β”œβ”€β”€ service/ # Business Logic
    β”‚   └── view/ # Swing UI Components
    └── resources/
        └── META-INF/
            └── persistence.xml # JPA Configuration

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Yushi Cui - realYushi@gmail.com

Project Link: https://github.com/realYushi/Inventory-Management-System

Acknowledgments

(back to top)

About

πŸ“¦ Inventory Management System A Java-based tool for efficient inventory tracking and management. πŸ–₯️ πŸ”‘ Key Features: β€’ CRUD operations for products, categories, and suppliers πŸ“ β€’ Transaction logging and financial summaries πŸ’° β€’ Low stock alerts and inventory insights πŸ“Š β€’ Sql based data persistence πŸ’Ύ Perfect for small businesses

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages