Skip to content

daMustermann/HIM-Home-Inventory-Management

Repository files navigation

Home Inventory Manager 🏠

A modern web application for managing your home inventory with an intuitive interface that works in both light and dark modes. Keep track of your items, their locations, and quantities with ease.

VERY EARLY VERSION

Features 🚀

  • 🌓 Dark/Light mode with system-wide persistence
  • 🔍 Real-time search functionality
  • 📸 Image upload support
  • 📍 Location tracking
  • 📊 Quantity management
  • ✏️ Edit and update items
  • 💾 Automatic SQLite database setup
  • 📱 Responsive design
  • 🔒 CSRF protection

Quick Start 🎯

  1. Clone the repository:
git clone https://github.com/yourusername/home-inventory.git
cd home-inventory
  1. Set up Python environment:
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
  1. Run the application:
python app.py
  1. Open http://localhost:5000 in your browser

Docker Setup 🐳

  1. Build the Docker image:
docker build -t inventory-manager .
  1. Run the container:
docker run -p 5000:5000 inventory-app

Tech Stack 💻

  • Backend: Flask + SQLAlchemy
  • Frontend: Bootstrap 4 + JavaScript
  • Database: SQLite
  • Security: Flask-WTF

Features in Detail 📋

Item Management

  • Add items with images, descriptions, and locations
  • Track quantities
  • Edit existing items
  • Upload item images

Search Functionality

  • Real-time search across all items
  • Search by title, description, or location
  • Instant results display

Theme Support

  • Switch between light and dark modes
  • Theme persistence across sessions
  • Smooth transition animations

Image Processing 🖼️

  • Automatic image resizing to 800px max height
  • WebP conversion for optimal file size
  • PNG transparency handling
  • Maintains aspect ratio
  • High-quality Lanczos resampling

Technical Details 🔧

Image Processing

  • Images are automatically processed on upload:
    • Converted to WebP format
    • Resized to max height of 800px
    • Aspect ratio preserved
    • PNG transparency handled
    • Quality set to 85%
    • WebP compression method 6 (best quality)

File Types

Supported image formats:

  • PNG (with transparency support)
  • JPG/JPEG
  • GIF

Dependencies 📦

Flask==2.0.1
Flask-SQLAlchemy==2.5.1
Flask-WTF==1.0.0
Pillow==10.1.0
Werkzeug==2.0.1
SQLAlchemy==1.4.23

Configuration ⚙️

Default settings in

config.py

:

ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif'}
SQLALCHEMY_DATABASE_URI = 'sqlite:///inventory.db'

Dependencies 📦

Flask==2.0.1
Flask-SQLAlchemy==2.5.1
Flask-WTF==1.0.0
Pillow==10.1.0
Werkzeug==2.0.1
SQLAlchemy==1.4.23

License 📄

MIT License


Made with ❤️ by daMustermann

About

HIM - Home Inventory Management

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published