No description
  • CSS 30.9%
  • JavaScript 27.1%
  • Python 26%
  • HTML 16%
Find a file
2026-05-20 15:42:44 -05:00
__pycache__ getting celery to use .env 2026-05-20 15:37:08 -05:00
application adding AI generated README for each module 2026-05-20 15:42:44 -05:00
logs set up take out correctly 2025-09-07 16:34:05 -05:00
sites Mass update! 2025-04-13 08:27:19 -05:00
sql Migratted alot of Admin stuff in AddSite, 2025-08-02 18:30:47 -05:00
static Added the ability to generate shopping lists 2025-08-19 16:47:48 -05:00
templates introduced very static OIDC through authentik 2025-08-03 08:08:23 -05:00
.gitignore Migrating to .env variables 2026-05-20 15:12:32 -05:00
celery_worker.py getting celery to use .env 2026-05-20 15:37:08 -05:00
celerybeat-schedule woops 2025-08-13 17:20:20 -05:00
celerybeat-schedule-shm adding AI generated README for each module 2026-05-20 15:42:44 -05:00
celerybeat-schedule-wal adding AI generated README for each module 2026-05-20 15:42:44 -05:00
config.py Removed uuid and added item_uuid to table schema 2025-08-09 19:39:08 -05:00
database.ini getting celery to use .env 2026-05-20 15:37:08 -05:00
database.py Lots of wide feature improvements 2025-04-20 10:55:47 -05:00
main.py Mass update! 2025-04-13 08:27:19 -05:00
manage.py test 2025-01-11 12:51:52 -06:00
MyDataclasses.py Migratted alot of Admin stuff in AddSite, 2025-08-02 18:30:47 -05:00
outh.py test2 2026-05-20 14:17:53 -05:00
plu_items.csv Implemented Planner System to its basic functions 2025-08-12 12:29:51 -05:00
postsqldb.py test 2025-04-26 10:18:30 -05:00
process.py fixed external_api bug 2025-05-24 09:58:03 -05:00
README.md getting celery to use .env 2026-05-20 15:37:08 -05:00
requirements.txt getting celery to use .env 2026-05-20 15:37:08 -05:00
run-server.bat immplmented Celery for future task management 2025-08-13 17:19:26 -05:00
run-server.sh Migrating to .env variables 2026-05-20 15:12:32 -05:00
webpush.py Lots of wide feature improvements 2025-04-20 10:55:47 -05:00
webserver.py Migrating to .env variables 2026-05-20 15:12:32 -05:00

PantryTrack

PantryTrack is a full-featured inventory and recipe management system designed for home pantries, kitchens, and culinary enthusiasts. Created as a hands-on learning project for databases, web technologies, and workflow automation, PantryTrack combines barcode scanning, shopping, and kitchen organization in one unified modern web application.


Key Features

  • Inventory Management:

    • Add items manually or with a barcode scanner
    • Organize products with categories, brands, and locations
    • Track real-time stock levels and usage
  • Recipe Builder:

    • Use pantry items to build recipes
    • Link inventory directly to ingredients
    • Automatic depletion of ingredient stocks when cooking
  • Shopping Lists:

    • Generate shopping lists from recipes or inventory shortages
    • Mark off items as purchased
  • Receipts & Kiosk Entry:

    • Create receipts manually or scan barcodes for fast kiosk entry
    • Log all purchased items and easily add them to inventory
    • Review, edit, and receive receipts into your pantry
  • Kiosk Mode & Scan-In/Scan-Out:

    • Set up a public kiosk to quickly scan items in after shopping
    • Scan items out as you use them right from your pantry
    • Great for families, community kitchens, or highly active pantries
  • Admin & Data Management:

    • PostgreSQL database with robust schema
    • Handles user authentication, tracking, and role-based access

Technologies Used

  • Backend: Python (Flask), Celery (background jobs), Authlib (OAuth)
  • Database: PostgreSQL
  • Frontend: JavaScript, HTML, CSS (UIKit), Jinja2
  • Integration: Barcode scanners (USB & API), local/remote Redis support for background tasks
  • DevOps: Docker-ready (via .env), cross-platform support

Why PantryTrack?

What started as a passion project became a practical solution for true kitchen organization. Along the way, it became a place to:

  • Learn barcode technology and API integration
  • Master PostgreSQL and advanced SQL
  • Practice ORM and schema management
  • Explore real-world web development with Flask and JavaScript
  • Design scalable, production-ready, dockerized apps

Getting Started

  1. Clone and set up your development environment:

    • Python 3.10+
    • PostgreSQL
    • (optional but recommended) Redis, if you want Celery
  2. Install Python dependencies:

    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  3. Configure your environment: Edit the provided .env to set secrets, DB, OAuth, and Redis variables. See comments in webserver.py and .env.example for required keys.

  4. Run the app and Celery:

    ./run-server.sh
    # or
    python webserver.py
    # and in another terminal:
    celery -A celery_worker.celery worker --loglevel=info
    

Future Plans

  • Better mobile/phone support
  • Integration with common grocers via receipt parsing
  • Real-time collaborative lists
  • More reporting, notifications, and analytics

License

This is a personal learning project. No warranty is implied. Pull requests and suggestions are welcome!