Skip to content

A robust, beginner-friendly Inventory & Stock Management System written in the C programming language, designed with an industry-standard modular structure. Ideal for learning linked lists, file handling, and backend logic.

Notifications You must be signed in to change notification settings

Abhishek-Atole/Inventory-Management-System-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

25 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ—ƒ๏ธ Inventory Management System in C

GitHub stars GitHub forks GitHub issues C

A robust, feature-rich Inventory & Stock Management System written in C

Perfect for learning advanced data structures, file handling, and system design

๐Ÿš€ Quick Start โ€ข ๐Ÿ“ธ Screenshots โ€ข ๐Ÿ› ๏ธ Features โ€ข ๐Ÿ“– Documentation


๐Ÿ“‹ Table of Contents


๐Ÿ“ธ System Screenshots

๐Ÿ–ฅ๏ธ Main Interface & Navigation

Main Menu Main Menu Interface
Professional menu with 13 comprehensive operations

Menu Navigation Menu Navigation System
Interactive options for all inventory operations

๐Ÿ“ฆ Core Operations

Display Items Display All Items
Complete inventory listing with formatted table view

Low Stock Alert Low Stock Alert System
Configurable threshold warnings for monitoring

๐Ÿ“Š Analytics & Reports

Statistics Inventory Statistics & Analysis
Comprehensive reporting with total value, item counts, and financial insights

๐Ÿ’พ Data Management

Load CSV Load from CSV File
Import inventory items with data validation

Create Backup Create Backup
Generate timestamped backup of current data

๐Ÿ” Search & Save Operations

Search by ID Search by ID
Quick item lookup with detailed results

Save and Exit Save & Exit Program
Persistent data storage with auto-save


๐Ÿš€ Features

๐Ÿ“ฆ Core Operations

  • โœ… CRUD Operations - Add, Read, Update, Delete items
  • ๐Ÿ” Advanced Search - Search by ID or name
  • ๐Ÿ“Š Display Management - Formatted tables with totals
  • ๐Ÿ”„ Update Items - Modify name, quantity, or price
  • โŒ Delete Items - Safe removal with confirmation

๐Ÿ’พ Data Management

  • ๐Ÿ“ File I/O Operations - Save/load inventory data
  • ๐Ÿ“ค CSV Import/Export - Industry-standard format
  • ๐Ÿ’พ Auto-save - Persistent data on exit
  • ๐Ÿ”„ Backup System - Timestamped backups
  • ๐Ÿ›ก๏ธ Data Validation - Input error prevention

๐Ÿ“Š Analysis & Reporting

  • ๐Ÿ“ˆ Inventory Statistics - Total value & item counts
  • ๐Ÿ’ฐ Financial Analysis - Most expensive items
  • โš ๏ธ Low Stock Alerts - Configurable thresholds
  • ๐Ÿ“Š Sorting Options - Sort by price (asc/desc)
  • ๐Ÿ“‹ Comprehensive Reports - Detailed analytics

๐ŸŽจ User Experience

  • ๐Ÿ–ฅ๏ธ Professional CLI - Beautiful ASCII interface
  • โœ… Input Validation - Robust error handling
  • ๐Ÿ“ฑ Menu-driven UI - Intuitive navigation
  • ๐Ÿš€ Fast Performance - Efficient linked lists
  • ๐Ÿ”ง Cross-platform - Windows, Linux, macOS

๐Ÿ—๏ธ Project Structure

๐Ÿ“ฆ Inventory-Management-System-C/
โ”œโ”€โ”€ ๐Ÿ“‚ src/                    # Source code files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ main.c             # Main program with UI and menu system
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ inventory.c        # Core inventory operations (CRUD, search, sort)
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ database.c         # File I/O operations and data persistence
โ”œโ”€โ”€ ๐Ÿ“‚ include/               # Header files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ inventory.h        # Inventory function prototypes and structures
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ database.h         # Database function prototypes
โ”œโ”€โ”€ ๐Ÿ“‚ images/                # System screenshots
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 01.png            # Main menu interface
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 02.png            # Menu navigation system
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 03.png            # Display all inventory items
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 04.png            # Low stock alert system
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 05.png            # Inventory statistics & analysis
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 06.png            # Load inventory from CSV file
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 07.png            # Create backup functionality
โ”‚   โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ 08.png            # Search inventory by ID
โ”‚   โ””โ”€โ”€ ๐Ÿ–ผ๏ธ 09.png            # Save inventory and exit program
โ”œโ”€โ”€ ๐Ÿ“‚ .vscode/              # VS Code configuration
โ”œโ”€โ”€ ๐Ÿ“„ .gitignore            # Git ignore rules
โ”œโ”€โ”€ ๐Ÿ“„ Makefile              # Build configuration and compilation rules
โ”œโ”€โ”€ ๐Ÿ“„ run_inventory.bat     # Windows execution script
โ”œโ”€โ”€ ๐Ÿ“„ sample_data.csv       # Sample test dataset
โ”œโ”€โ”€ ๐Ÿ“„ test_data.csv         # Clean test data
โ””โ”€โ”€ ๐Ÿ“„ README.md             # Project documentation

๐Ÿ› ๏ธ Technical Implementation

๐Ÿ”ง Core Technologies

  • Language: C (C99 standard)
  • Compiler: GCC with strict warnings
  • Platform: Cross-platform compatibility
  • Memory: Dynamic allocation & cleanup
  • File Format: CSV for data persistence

๐Ÿ“Š Data Structures

  • Singly Linked List: Dynamic inventory storage
  • Custom Structures: NODE type for items
  • Pointer Management: Advanced manipulation
  • Memory Safety: Proper allocation/deallocation

โšก Key Algorithms

  • Search: Linear search by ID and name
  • Sorting: Bubble sort by price
  • File Parsing: Robust CSV handling
  • Input Validation: Comprehensive error checking
  • Memory Management: Leak prevention

๐Ÿ—๏ธ Architecture

  • Modular Design: Separated concerns
  • Header Files: Clean API definitions
  • Error Handling: Robust validation
  • User Interface: Professional CLI design

โšก Quick Start

๐Ÿ”ง Prerequisites

โœ… GCC compiler (4.9 or later)
โœ… Windows/Linux/macOS operating system  
โœ… 50MB free disk space
โœ… Terminal/Command prompt access

๐Ÿ“ฅ Installation & Setup

# 1๏ธโƒฃ Clone the repository
git clone https://github.com/Abhishek-Atole/Inventory-Management-System-C.git
cd Inventory-Management-System-C

# 2๏ธโƒฃ Compile using GCC
gcc -Wall -Wextra -std=c99 -Iinclude src/main.c src/inventory.c src/database.c -o inventory_system

# 3๏ธโƒฃ Run the program
./inventory_system                    # Linux/macOS
inventory_system.exe                  # Windows
# OR
run_inventory.bat                     # Windows batch file

๐Ÿ”จ Using Makefile

make all        # Build the project
make clean      # Clean build artifacts  
make debug      # Debug build with extra flags
make run        # Build and run

๐Ÿ’ก Usage Guide

๐ŸŽฏ **Step-by-Step Operations

Operation Menu Option Screenshot Description
๐Ÿ  Main Menu Start Program Image 01 & Image 02 Access all 13 operations
๐Ÿ“ฆ View Items Option 2 Image 03 Display complete inventory
๐Ÿ“Š Check Statistics Option 13 Image 05 View comprehensive analytics
โš ๏ธ Low Stock Option 7 Image 04 Monitor stock levels
๐Ÿ“ Load Data Option 10 Image 06 Import from CSV files
๐Ÿ’พ Create Backup Option 11 Image 07 Generate timestamped backups
๐Ÿ” Search Items Option 3 Image 08 Find items by ID
๐Ÿ’พ Save & Exit Option 0 Image 09 Auto-save and close

๐Ÿš€ Quick Actions

# Load sample data on first run
Choose Option 10 โ†’ Enter "sample_data.csv"

# Check low stock items  
Choose Option 7 โ†’ Enter threshold (e.g., 50)

# View all statistics
Choose Option 13 โ†’ View comprehensive report

# Create backup before major changes
Choose Option 11 โ†’ Timestamped backup created

๐Ÿงช Sample Data

The system includes comprehensive test datasets:

๐Ÿ“„ sample_data.csv

ID,Name,Quantity,Price
101,Laptop,25,45000.00
102,Mouse,150,500.00
103,Keyboard,80,1200.00
104,Monitor,30,12000.00
105,RAM,60,2500.00

๐Ÿ“Š Data Categories

  • ๐Ÿ’ป Electronics: Laptops, Monitors, Peripherals
  • ๐Ÿ”ง Components: RAM, Storage, Cables
  • ๐Ÿ“ฑ Accessories: Mice, Keyboards, Webcams

๐ŸŽฏ Learning Objectives

๐Ÿ“š Data Structures Concepts

  • โœ… Linked Lists - Implementation & manipulation
  • โœ… Pointers - Advanced usage and double pointers
  • โœ… Structures - Custom data types and organization
  • โœ… Memory Management - Dynamic allocation/deallocation
  • โœ… Arrays - String handling and manipulation

๐Ÿ”ง Programming Skills

  • โœ… File I/O - Reading, writing, CSV parsing
  • โœ… Error Handling - Robust validation and recovery
  • โœ… Modular Design - Separation of concerns
  • โœ… User Interface - Console-based application design
  • โœ… Algorithms - Search, sort, and data processing

๐Ÿšง Future Enhancements

๐Ÿ”ฎ Planned Features

  • ๐Ÿ—„๏ธ Database Integration - SQLite support for larger datasets
  • ๐Ÿ” User Authentication - Multi-user access with roles
  • ๐Ÿ“Š Advanced Analytics - Charts, graphs, and trend analysis
  • ๐ŸŒ Web Interface - Browser-based dashboard
  • ๐Ÿ“ฑ Mobile App - Cross-platform mobile companion
  • ๐Ÿ”„ Real-time Sync - Cloud synchronization capabilities
  • ๐Ÿ“ง Email Alerts - Automated low-stock notifications
  • ๐Ÿท๏ธ Barcode Support - Scanner integration for easy input

๐ŸŽฏ Enhancement Roadmap

graph LR
    A[v1.0 - CLI System] --> B[v1.1 - Database Integration]
    B --> C[v1.2 - Web Interface]
    C --> D[v2.0 - Mobile App]
Loading

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

๐Ÿ”ง How to Contribute

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create your feature branch (git checkout -b feature/AmazingFeature)
  3. โœ… Commit your changes (git commit -m 'Add some AmazingFeature')
  4. ๐Ÿš€ Push to the branch (git push origin feature/AmazingFeature)
  5. ๐Ÿ“‹ Open a Pull Request

๐Ÿ› Reporting Issues

Found a bug? Please create an issue with:

  • ๐Ÿ“ Clear description of the problem
  • ๐Ÿ”„ Steps to reproduce
  • ๐Ÿ’ป Your system information
  • ๐Ÿ“ธ Screenshots if applicable

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

Special thanks to:

  • ๐Ÿ‘ฅ C Programming Community - For inspiration and guidance
  • ๐ŸŒŸ Open Source Contributors - For valuable feedback
  • ๐Ÿ“š Data Structures Resources - For educational foundation
  • ๐Ÿซ Academic Institutions - For promoting practical learning

๐Ÿ“ž Contact & Links

๐Ÿ”— Project Repository: Inventory-Management-System-C

๐Ÿ‘จโ€๐Ÿ’ป Developer: Abhishek Atole


๐ŸŒŸ Show Your Support

If you found this project helpful, please consider giving it a star!

Star this repo

Happy Coding! ๐Ÿš€


Built with โค๏ธ using C Programming Language

Perfect for learning โ€ข Production Ready โ€ข Open Source

About

A robust, beginner-friendly Inventory & Stock Management System written in the C programming language, designed with an industry-standard modular structure. Ideal for learning linked lists, file handling, and backend logic.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published