Skip to content

VoxDroid/Izeno-IS

Izeno's Inventory System

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.

Izeno-IS

Features

  • 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

Prerequisites

  • Rust (latest stable version recommended)
  • Cargo (Rust's package manager)

Installation

  1. Clone the repository:
git clone https://github.com/VoxDroid/Izeno-IS.git
cd Izeno-IS
  1. Build the project:
cargo build --release
  1. Run the application:
cargo run --release

Usage

  1. Launch the program to see the main menu
  2. Use numbers 1-12 to select options:
    • View inventory
    • Add/remove items
    • Manage item properties
    • Search and analyze inventory
    • Toggle automated features
  3. Follow on-screen prompts for each operation
  4. Press Enter after each action to continue

Dependencies

  • std - Standard library collections and I/O
  • colored - Terminal color support
  • rand - Random number generation
  • serde - Serialization/deserialization
  • chrono - Date and time handling
  • regex - Regular expression support
  • lazy_static - Static initialization
  • sled - Embedded database
  • unicode_width - Unicode string width calculation
  • strip_ansi_escapes - ANSI escape code handling

Project Structure

  • main.rs: Contains all the code including:
    • Item and Category definitions
    • Stackable and Perishable traits
    • Inventory management system
    • Console interface logic
    • Background simulation threads

Key Components

Item System

  • Structured data with multiple properties
  • Implements Stackable and Perishable traits
  • Supports expiration for Consumables

Inventory Management

  • Thread-safe with Arc
  • Persistent storage via sled
  • History tracking with VecDeque
  • Dynamic restocking and price adjustment

User Interface

  • Color-coded output for better readability
  • Dynamic table formatting
  • Interactive input handling

Contributing

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:

  1. Fork the repository: https://github.com/VoxDroid/Izeno-IS
  2. Create a feature branch (git checkout -b feature-name)
  3. Submit a pull request with your changes

License

This project is licensed under the MIT License.

Acknowledgments

Created as a demonstration of Rust's capabilities in building complex console applications with persistent storage and concurrent features.


Support

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:


Developed by VoxDroid
GitHub | Ko-fi
© 2025 Izeno's Inventory System. All rights reserved.