2026-02-26 00:34:36 -03:00
2026-02-25 23:54:30 -03:00
2026-02-25 23:39:38 -03:00
2026-02-25 23:31:24 -03:00
2026-02-26 00:10:36 -03:00
2026-02-26 00:34:36 -03:00
2026-02-26 00:25:32 -03:00
2026-02-25 23:28:09 -03:00
2026-02-26 00:35:22 -03:00
2026-02-25 23:54:30 -03:00

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/cache to 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

Or use this stack:

name: sekipos
services:
    sekipos:
        ports:
            - 5000:5000
        volumes:
            - YOUR_PATH/sekipos/db:/app/db
            - YOUR_PATH/sekipos/static/cache:/app/static/cache
        container_name: sekipos-server
        image: 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 in app.py or 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.
Description
No description provided
Readme AGPL-3.0 336 KiB
GOScan Latest
2026-02-26 00:00:41 -03:00
Languages
HTML 49.1%
Python 43%
Go 6%
Dockerfile 1.9%