A console-based inventory management system written in Rust, designed to handle various item types with features like stacking, degradation, auto-restocking, and price fluctuation.
- Item Categories: Supports Weapons, Consumables, Armor, Tools, and Resources
- Item Properties:
- Unique ID
- Name
- Quantity with max stack size
- Optional durability
- Creation timestamp
- Value (price per unit)
- Weight
- Inventory Management:
- Add/remove items
- Stack compatible items
- Degrade perishable items
- Search functionality
- History tracking
- Bulk removal by category
- Dynamic Features:
- Auto-restock simulation
- Price fluctuation system
- Persistent Storage: Uses sled database for data persistence
- Visual Interface:
- Color-coded console output
- Formatted inventory display
- Interactive menu system
- Rust (latest stable version recommended)
- Cargo (Rust's package manager)
- Clone the repository:
git clone https://github.com/VoxDroid/Izeno-IS.git
cd Izeno-IS
- Build the project:
cargo build --release
- Run the application:
cargo run --release
- Launch the program to see the main menu
- Use numbers 1-12 to select options:
- View inventory
- Add/remove items
- Manage item properties
- Search and analyze inventory
- Toggle automated features
- Follow on-screen prompts for each operation
- Press Enter after each action to continue
std
- Standard library collections and I/Ocolored
- Terminal color supportrand
- Random number generationserde
- Serialization/deserializationchrono
- Date and time handlingregex
- Regular expression supportlazy_static
- Static initializationsled
- Embedded databaseunicode_width
- Unicode string width calculationstrip_ansi_escapes
- ANSI escape code handling
main.rs
: Contains all the code including:- Item and Category definitions
- Stackable and Perishable traits
- Inventory management system
- Console interface logic
- Background simulation threads
- Structured data with multiple properties
- Implements Stackable and Perishable traits
- Supports expiration for Consumables
- Thread-safe with Arc
- Persistent storage via sled
- History tracking with VecDeque
- Dynamic restocking and price adjustment
- Color-coded output for better readability
- Dynamic table formatting
- Interactive input handling
Contributions are welcome! Please read our Contributing Guide for details on how to contribute, and review our Code of Conduct to ensure a positive and inclusive community.
To contribute:
- Fork the repository: https://github.com/VoxDroid/Izeno-IS
- Create a feature branch (
git checkout -b feature-name
) - Submit a pull request with your changes
This project is licensed under the MIT License.
Created as a demonstration of Rust's capabilities in building complex console applications with persistent storage and concurrent features.
For support, please refer to our Support Guide. If you encounter security issues, please review our Security Policy.
If you find this project useful, consider supporting its development:
- Ko-fi: Buy me a coffee
- Star the Repository: Give it a star on GitHub
- Report Issues: Submit bugs or suggestions on the Issues page
Developed by VoxDroid
GitHub | Ko-fi
© 2025 Izeno's Inventory System. All rights reserved.