A modern, self-hosted kitchen inventory management system that actually makes sense.
Fridgventory helps you track what you have, what you need, and where everything is stored in your kitchen. Never run out of essentials again, and say goodbye to buying duplicates of items you already have hidden in the back of your pantry.
Yes, this project's foundations were mostly created by the help of generative AI (Cursor, Claude-4-sonnet). I am aware that many people in the community do not like it, but it enables me, a junior developer, to create a valueable project for myself after my work duties, in my free time with ease. The project would not exist if I were to write every line of code myself from scratch.
All contributions are welcome - human, AI, or combination of both.
Thanks for understanding,
Jan, the main lead.
- π― Purpose-Built: Designed specifically for kitchen inventory, not adapted from generic tools
- π± Modern Interface: Responsive design that works on phones, tablets, and computers (hopefully)
- β‘ Fast: Inline editing, quantity adjustment buttons, and real-time updates
- π·οΈ Smart Organization: Visual tags and locations with automatic color/emoji assignment
- π Shopping Lists: Generate formatted shopping lists as text or images
- π Multi-Language: Built-in internationalization (English/Czech, easily extensible)
- π³ Easy Deployment: One-command Docker setup or traditional Python installation
- Track desired vs. current quantities for any item
- Automatic "missing quantity" calculations
- Inline editing with double-click to modify any field
- One-click quantity adjustment buttons (β/β)
- Tags: Categorize items (dairy, vegetables, snacks, etc.)
- Locations: Track where items are stored (fridge, pantry, freezer, etc.)
- Auto-styling: Intelligent color and emoji assignment based on names
- Custom styling: Override colors and emojis for any tag or location
- Emoji picker: Beautiful, categorized emoji selection interface
- Text format: Clean, printable shopping lists
- Image format: Visual shopping lists perfect for mobile screenshots
- Auto-generation: Only includes items you're actually missing
- Responsive design: Works on any device size
- Dark/Light themes: Respects your system preferences
- Instant updates: No page reloads for common actions
- Smart search: Find items by name, tag, or location
- Sortable tables: Click any column header to sort
- REST-like APIs: JSON endpoints for modern interactions
Requirements: Docker and Docker Compose
# Clone and start
git clone https://github.com/your-username/fridgventory.git
cd fridgventory
docker-compose up -d
# Visit http://localhost:8000That's it! π
π§ Additional Docker commands
# View logs
docker-compose logs -f
# Stop the application
docker-compose down
# Create admin user (optional)
docker-compose exec web python manage.py createsuperuser
# Update to latest version
docker-compose pull
docker-compose up -dRequirements: Python 3.11+
# Setup environment
git clone https://github.com/your-username/fridgventory.git
cd fridgventory
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install and run
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
# Visit http://localhost:8000- Click "Add Item" and enter details
- Set desired vs. current quantities
- Add tags like "dairy", "vegetables", "frozen"
- Specify locations like "fridge", "pantry", "freezer"
- Quick updates: Use β/β buttons to adjust quantities
- Detailed editing: Double-click any field to edit in-place
- Visual organization: Items are automatically color-coded by tags/locations
- Missing items (where current < desired) automatically appear
- Download as text file or image
- Perfect for grocery shopping or meal planning
- Visit Settings to manage tags and locations
- Override default colors and emojis
- Set up your preferred organization system
- π Home cooks who want to stay organized
- π¨βπ©βπ§βπ¦ Families managing multiple food preferences
- π½οΈ Meal planners who prep in advance
- π Anyone tired of overbuying or running out of essentials
# Language (default: en)
DEFAULT_LANGUAGE=en # or 'cs' for Czech
# Django settings
DEBUG=1 # Set to 0 in production
SECRET_KEY=your-secret-keyCreate plugins in the plugins/ directory:
# plugins/my_plugin/plugin.py
def on_ready():
"""Called when the application starts"""
print("My plugin is ready!")Fridgventory supports multiple languages:
- πΊπΈ English (default)
- π¨πΏ Czech (Δesky)
- β More languages: Easy to add via Django's i18n system
Want to add your language? See our translation guide!
We'd love your help making Fridgventory even better!
- Integration with barcode scanner app called BarcodeBuddy - BarcodeBuddy project
- Check existing issues
- Create a new issue with details
- Start a discussion
- Submit a feature request
- Fork the repository
- Create a feature branch (
git checkout -b amazing-feature) - Make your changes
- Add tests if applicable
- Submit a pull request
We need translators! See TRANSLATIONS.md for details.
- Backend: Django 5.2+ (Python)
- Frontend: Vanilla JavaScript, modern CSS
- Database: SQLite (default)
- Styling: CSS custom properties, responsive design
- Deployment: Docker, traditional Python hosting
- Internationalization: Django i18n framework
- - Integration with barcode scanner app called BarcodeBuddy - BarcodeBuddy project
- - AI shop receipt reader for automatic invenotory population
- - Smart way to quickly edit inventory content (probably some kind of text extraction)
This project is licensed under the GNU License - see the LICENSE file for details.
- Built using Django
- Icons and emojis from the Unicode standard
Ready to take control of your kitchen inventory?
β Star this repo | π³ Pull from DockerHub | π¬ Join the discussion


