574ee7773cd77bdd8778842f064d5652f3176fad
SekiPOS v1.0 🍫🥤
A reactive POS inventory system for software engineers with a snack addiction. Features real-time UI updates, automatic product discovery via Open Food Facts, and local image caching.
🚀 Features
- Real-time UI: Instant updates via Socket.IO.
- Smart Fetch: Pulls product names/images from Open Food Facts if not found locally.
- Local Cache: Saves images locally to
static/cacheto avoid IP bans. - CLP Ready: Chilean Peso formatting ($1.234) for local commerce.
- Secure: Hashed password authentication via Flask-Login.
🐳 Docker Deployment (Server)
Build and run the central inventory server:
# Build the image
docker build -t sekipos .
# Run the container (Map port 5000 and persist the database/cache)
docker run -d \
-p 5000:5000 \
-v $(pwd)/pos_database.db:/app/pos_database.db \
-v $(pwd)/static/cache:/app/static/cache \
--name sekipos-server \
sekipos
🔌 Hardware Scanner Bridge (ScannerGO)
The server needs a bridge to talk to your physical COM port. Use the ScannerGO binary on the machine where the scanner is plugged in.
🐧 Linux
chmod +x ScannerGO-linux
./ScannerGO-linux -port "/dev/ttyACM0" -baud 115200 -url "http://<SERVER_IP>:5000/scan"
🪟 Windows
.\ScannerGO-windows.exe -port "COM3" -baud 115200 -url "http://<SERVER_IP>:5000/scan"
Note: Ensure the -url points to your Docker container's IP address.
📦 Local Installation (Development)
If you're too afraid of Docker:
pip install -r requirements.txt
python app.py
🔐 Credentials
- Username:
admin - Password:
seki123(Change this inapp.pyor you'll be hacked by a smart-fridge)
📁 Structure
app.py: The inventory/web server.static/cache/: Local repository for product images.pos_database.db: SQLite storage.