Skip to content

Repository files navigation

Inventory Management System

A comprehensive desktop application for managing inventory, built with Python and Tkinter.

Features

Core Functionality

  • Add, update, and delete products
  • Search products by ID, name, category, or barcode
  • Track product quantities and prices
  • Set and monitor product expiry dates
  • Generate and print barcodes for products
  • Scan barcodes for quick product lookup
  • Color-coded category management

Advanced Features

  • Modern UI with customizable color themes
  • Export inventory data to CSV and Excel formats
  • Generate various inventory reports
  • Data visualization with charts and graphs
  • Batch product updates
  • Low stock alerts with configurable thresholds
  • Expiry date tracking and alerts
  • Barcode generation and scanning
  • Sales tracking and management
  • Supplier management
  • User management with role-based access
  • Dashboard with key metrics and performance indicators
  • Category-specific low stock indicators

UI Improvements

  • High-contrast column headers for better visibility
  • Customizable color schemes per category
  • Responsive layout that adapts to window size
  • Visual indicators for expired and low-stock products
  • Improved table readability with alternating row colors
  • Modern flat design for buttons and input fields
  • Category-specific color coding for products
  • Status bar with important notifications
  • Consolidated alerts to prevent duplicate notifications

Requirements

  • Python 3.8 or higher
  • Required packages (install via pip install -r requirements.txt):
    • matplotlib
    • pillow
    • python-barcode
    • qrcode
    • pandas
    • openpyxl
    • opencv-python
    • reportlab
    • ttkthemes
    • numpy

Installation

  1. Clone or download the repository
  2. Install required packages:
    pip install -r requirements.txt
    
  3. Run the application:
    python run.py
    

Usage

Login

  • Default admin credentials:
    • Username: admin
    • Password: admin123

Main Interface

  • Left panel: Add/edit product details
  • Right panel: View product list with search functionality
  • Menu bar: Access additional features and tools

Tools

  • Dashboard: Overview of inventory statistics and metrics
  • Reports: Generate inventory value reports, low stock reports, etc.
  • Visualization: View inventory data in charts and graphs
  • Barcode Generator: Create and print barcodes for products
  • Barcode Scanner: Scan barcodes to quickly find products
  • Category Manager: Manage product categories, thresholds, and color coding
  • User Management: Add, edit, and delete users with different roles
  • Batch Update: Update multiple products at once
  • Sales Management: Record and track sales transactions
  • Supplier Management: Manage product suppliers

Database Structure

The application uses SQLite for data storage with the following tables:

  • products: Stores product information
  • sales: Records sales transactions
  • users: Stores user account information
  • suppliers: Stores supplier information
  • product_suppliers: Links products to suppliers

Configuration

The application uses JSON configuration files:

  • category_config.json: Stores category settings including colors and low stock thresholds

Customization

You can customize the application by:

  • Editing the color scheme in the COLORS dictionary
  • Adjusting font sizes and styles in the apply_styles method
  • Modifying column widths and layout parameters
  • Adjusting low stock thresholds per category in the Category Manager

License

This project is open source and available under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages