A robust command-line inventory management system built with Rust, designed to help businesses track products, sales, and purchases efficiently.
-
Product Management
- Add new products with details (name, description, quantity, price)
- Edit existing product information
- Delete products from inventory
-
Transaction Recording
- Record product sales with quantities and prices
- Track product purchases and stock updates
- Automatic inventory adjustment on sales/purchases
-
Reporting System
- Generate detailed inventory reports
- View comprehensive sales history
- Access purchase transaction records
To run this project, you need to have Rust and Cargo installed on your system. If you haven't installed them yet, follow these steps:
- Install Rust by following the official guide at rust-lang.org
- Verify your installation by running:
rustc --version cargo --version
-
Clone the repository:
git clone https://github.com/qbit-glitch/rusty-store.git cd rusty-store -
Build the project:
cargo build --release
-
Run the application:
cargo run
When you run the program, you'll be presented with a menu of options:
Inventory Management System
Choose an option:
1. "add" - Add Product
2. "edit" - Edit Product
3. "delete" - Delete Product
4. "record-sale" - Record Sale
5. "record-purchase" - Record Purchase
6. "inventory-report" - Generate Inventory Report
7. "sales-report" - Generate Sales Report
8. "purchase-report" - Generate Purchase Report
9. "exit" - Exit Program
Enter Product Details:
Product Name: Widget
Description: A fantastic widget
Quantity: 100
Price: 19.99Enter product name: Widget
Enter quantity to sell: 5
Enter sale price: 24.99Choose options 6-8 to generate different types of reports:
- Inventory Report: Shows current stock levels and product details
- Sales Report: Displays all sales transactions
- Purchase Report: Lists all purchase transactions
src/
├── main.rs # Main application code
└── lib.rs # Library code (if applicable)
Cargo.toml # Project dependencies and metadata
README.md # Project documentation
Product: Stores product informationSale: Records sale transactionsPurchase: Tracks purchase transactionsInventory: Manages product collectionRecordSales: Maintains sales historyRecordPurchases: Stores purchase records
add_product(): Adds new products to inventoryupdate_product(): Modifies existing product detailsdelete_product(): Removes products from inventoryrecord_sale_from_user(): Records sales transactionsrecord_purchase_from_user(): Records purchase transactionsgenerate_*_report(): Generates various reports
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Rust Programming Language Team
- All contributors who participate in this project
Umesh Kumar Singh - @qbit-glitch
Project Link: https://github.com/qbit-glitch/rusty-store
⭐️ Star this repository if you find it helpful!