Skip to content

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¦ Smart Inventory Management System

Desktop-Based Inventory, Billing & Stock Management Application

Smart Inventory Management System is a desktop application developed using Python, Tkinter, and SQLite to simplify inventory management for small and medium-sized businesses. The application enables administrators and staff to manage employees, suppliers, product categories, inventory, sales, and billing through an easy-to-use graphical interface.

The project demonstrates practical implementation of desktop application development, role-based authentication, inventory management, billing, database operations, and report generation using Python.


πŸ“– Project Overview

The Smart Inventory Management System provides a centralized platform for managing daily inventory operations. Users can securely log in, maintain employee records, manage suppliers and product categories, update stock information, generate invoices, and monitor sales.

The application stores all business data in a SQLite database, making it lightweight, portable, and suitable for desktop environments.

This project was developed as a final-year academic project to demonstrate practical software engineering concepts using Python.


🎯 Objectives

  • Simplify inventory management
  • Maintain accurate stock records
  • Manage suppliers and employees
  • Generate sales invoices
  • Reduce manual inventory errors
  • Demonstrate desktop application development using Python

✨ Features

  • πŸ” Secure Login System using BCrypt Password Hashing
  • πŸ‘₯ Employee Management
  • 🚚 Supplier Management
  • πŸ“‚ Category Management
  • πŸ“¦ Product Management
  • πŸ“Š Inventory & Stock Tracking
  • 🧾 Sales & Billing System
  • πŸ“„ Invoice Generation (PDF)
  • πŸ’Ύ SQLite Database Integration
  • πŸ–₯️ User-Friendly Tkinter Interface
  • πŸ” Search & Update Records
  • πŸ—‘οΈ Add, Edit and Delete Operations

πŸ‘€ User Roles

πŸ‘¨β€πŸ’Ό Administrator

The administrator has full access to the application and can:

  • Manage employees
  • Manage suppliers
  • Manage product categories
  • Manage products
  • Monitor inventory
  • Generate invoices
  • Access all system modules

πŸ‘¨β€πŸ’» Staff

Staff members can:

  • Log in securely
  • Manage products
  • Update stock
  • Generate sales invoices
  • View inventory information

βš™οΈ Key Functionalities

πŸ” Authentication

Users log in securely using BCrypt encrypted passwords and role-based authentication.

πŸ“¦ Inventory Management

Maintain product details, stock quantity, categories, suppliers, and pricing.

🧾 Billing System

Generate invoices, calculate totals, and create printable PDF bills.

πŸ“Š Database Management

Store employee, supplier, product, inventory, and billing information using SQLite.


πŸ—οΈ System Architecture

The application follows a desktop-based architecture where administrators and staff interact with a graphical user interface to manage inventory operations. The application processes user actions, performs business logic, and stores all information in a SQLite database.

Workflow

Administrator / Staff
          β”‚
          β–Ό
      Login System
          β”‚
          β–Ό
 Python Tkinter GUI
          β”‚
          β–Ό
────────────────────────────
 Employee Management

 Supplier Management

 Category Management

 Product Management

 Sales & Billing

 Report Generation
────────────────────────────
          β”‚
          β–Ό
      SQLite Database

πŸ› οΈ Technology Stack

Backend

Technology Purpose
Python 3 Programming Language
SQLite Database
BCrypt Password Encryption
FPDF Invoice Generation

Frontend (Desktop GUI)

Technology Purpose
Tkinter Desktop User Interface
Pillow Image Processing
TkCalendar Date Selection

Database

Technology Purpose
SQLite Store Employee, Supplier, Product and Sales Data

Development Tools

Tool Purpose
VS Code Code Editor
Git Version Control
GitHub Repository Hosting

πŸ“Έ Application Screenshots

πŸ” Login

Secure login using BCrypt password authentication.


🏠 Admin Dashboard

The administrator dashboard provides quick access to employee, supplier, category, product, inventory, and billing management.


πŸ‘₯ Employee Management

Manage employee records including adding, updating, searching, and deleting employees.


🚚 Supplier Management

Maintain supplier details and contact information used for inventory management.


πŸ“‚ Category Management

Create and manage product categories for better inventory organization.


πŸ“¦ Product Management

Manage product information including pricing, stock quantity, supplier, and category.


🧾 Sales & Billing

Generate invoices, calculate totals, and manage customer billing efficiently.


πŸ“‚ Project Structure

Smart-Inventory-Management
β”‚
β”œβ”€β”€ architecture/
β”œβ”€β”€ screenshots/
β”œβ”€β”€ bill_txt/
β”œβ”€β”€ login.py
β”œβ”€β”€ dashbord.py
β”œβ”€β”€ employee.py
β”œβ”€β”€ supplier.py
β”œβ”€β”€ category.py
β”œβ”€β”€ product.py
β”œβ”€β”€ sales_billing.py
β”œβ”€β”€ create_db.py
β”œβ”€β”€ migrate_passwords.py
β”œβ”€β”€ ims.db
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ .gitignore
└── README.md

βš™οΈ Installation Guide

1. Clone the Repository

git clone https://github.com/Sachingupta209/Smart-Inventory-Management.git

cd Smart-Inventory-Management

2. Install Required Packages

pip install -r requirements.txt

3. Initialize the Database

If the database does not already exist, run:

python create_db.py

4. Launch the Application

python login.py

πŸ”„ Application Workflow

The Smart Inventory Management System follows the workflow below:

Step 1

User logs into the application.

↓

Step 2

The system verifies login credentials.

↓

Step 3

The administrator or staff accesses the dashboard.

↓

Step 4

Manage employees, suppliers, categories, and products.

↓

Step 5

Maintain inventory and update stock levels.

↓

Step 6

Generate customer invoices.

↓

Step 7

Store all records securely in the SQLite database.


πŸ”’ Security Features

  • BCrypt Password Hashing
  • Role-Based Authentication
  • Secure SQLite Database Storage
  • Input Validation
  • Inventory Data Protection

πŸ“Œ Core Modules

πŸ” Authentication Module

Provides secure login with BCrypt password hashing and role-based access.


πŸ‘₯ Employee Management

Manage employee records, roles, contact details, and salary information.


🚚 Supplier Management

Store and manage supplier information used for inventory operations.


πŸ“‚ Category Management

Create and organize product categories.


πŸ“¦ Product Management

Manage product details, pricing, suppliers, and stock quantity.


🧾 Sales & Billing

Generate customer invoices, calculate totals, and create PDF bills.


πŸ’Ύ Database Module

Stores employee, supplier, category, product, invoice, and billing data using SQLite.


πŸš€ Future Enhancements

The following features can be added in future versions of the application:

  • πŸ”” Low Stock Alert Notifications
  • πŸ“± Mobile Application
  • ☁️ Cloud-Based Inventory Management
  • πŸ“Š Interactive Dashboard with Charts
  • πŸ“· Barcode Scanner Integration
  • πŸ“§ Email Invoice Delivery
  • πŸ“ˆ Advanced Sales Analytics
  • 🧾 GST Invoice Generation
  • πŸ“€ Export Reports to Excel & PDF
  • πŸ”„ Automated Database Backup
  • πŸ‘₯ Multi-Branch Inventory Management
  • πŸ” Two-Factor Authentication (2FA)

🌍 Project Status

βœ… Completed

The Smart Inventory Management System successfully demonstrates:

  • Desktop Application Development
  • Role-Based Authentication
  • Inventory & Stock Management
  • Employee Management
  • Supplier Management
  • Category Management
  • Sales & Billing
  • PDF Invoice Generation
  • SQLite Database Integration
  • Responsive Desktop GUI

πŸ’‘ Learning Outcomes

This project helped strengthen practical knowledge in:

  • Python Programming
  • Desktop Application Development
  • Tkinter GUI Design
  • SQLite Database Management
  • CRUD Operations
  • Authentication & Authorization
  • Password Encryption using BCrypt
  • File Handling
  • Software Architecture
  • Git & GitHub

πŸ“„ Repository Information

Item Details
Project Smart Inventory Management System
Project Type Desktop Application
Language Python
GUI Framework Tkinter
Database SQLite
Version Control Git & GitHub

πŸ‘¨β€πŸ’» Author

Sachin Gupta

Backend Developer | Java | Python | Cloud & DevOps Enthusiast

Technologies

  • Java
  • Spring Boot
  • Python
  • Django
  • Tkinter
  • PostgreSQL
  • SQLite
  • React
  • Docker
  • AWS
  • Git
  • GitHub

GitHub:

https://github.com/Sachingupta209


🀝 Contributing

Contributions are welcome.

If you'd like to improve the project:

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit your changes.
  4. Submit a Pull Request.

⭐ Support

If you found this project useful, consider giving it a ⭐ on GitHub.

Your support helps improve the project and makes it easier for others to discover it.


πŸ“¦ Smart Inventory Management System

Desktop-Based Inventory, Billing & Stock Management Application

Built with Python, Tkinter & SQLite

About

Desktop inventory management system built with Python, Tkinter, and SQLite for managing products, suppliers, inventory, sales, and billing.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages