← back
Vending Control System for Raspberry Pi

Vending Control System for Raspberry Pi

Pending
💰 USD 30–250 👤 Unknown 🕒 20d ago status: new
Python Mobile App Development Node.js PostgreSQL SQLite MQTT Raspberry Pi Database Management API Development REST API
I need the full control system finished and polished. I have a Wittern 3589 vending machine already wired to a Raspberry Pi through an MDB interface. Core functions I still need implemented are: • Daily item limits – each employee may vend up to five items per day, with the count resetting at midnight. • Employee FOB management – the system must store up to 50 active FOBs. I should be able to add, disable, or swap a FOB for a new employee instantly from within the app. • Day-off scheduling – with a tap I can block or unblock the entire machine for specific calendar days (holidays, inventory, etc.). The interface must be available both as a mobile and a web app. All employee changes will be handled exclusively through these apps, not on the Pi itself. Real-time sync is important so the machine always enforces the most recent rules. I already have the Pi talking to the MDB harness and a skeleton API, so you will be extending existing Python code (or replacing it if faster) and wiring it to a clean frontend. Preferred stack is Python or Node.js on the Pi, REST/JSON or MQTT for communication, and any modern framework you like for the apps—just keep it lightweight and secure. Deliverables 1. Pi firmware/service that listens to MDB events, checks vend requests against limit rules, and logs every transaction. 2. REST API (hosted on the Pi or small cloud instance) exposing endpoints for limits, FOB CRUD, and schedule settings. 3. Responsive web dashboard and companion mobile build (PWA or minimal native wrapper) where I can: – Add/disable/swap FOBs – Set or reset daily limits – Toggle days off 4. Simple database schema (SQLite or Postgres) with an export/import option for backups. 5. Deployment script and concise setup guide so I can flash a fresh Pi and have it running in one session. Acceptance: I’ll test by adding a new FOB from my phone, giving it a two-item limit, and confirming the machine blocks the third vend attempt. A calendar block should disable all sales instantly. If you have prior MDB or vending machine experience, let me know—otherwise outline how you’ll emulate and test without physical access. Code quality, clear commenting, and hand-off documentation are essential because I may continue extending the system later.
↗ View on Freelancer