SmartBev

A platform to run a fleet of connected hot-drink vending machines, from QR payment to maintenance

REST / SOARelational databaseAndroidArduino / Raspberry PiKarma / Jasmine
SmartBev

SmartBev is a software platform for smart hot-drink vending machines (coffee, tea, milk, chocolate). A manufacturer's clients use it to manage, monitor and maintain their machines and to track sales. I built it as team leader of a 12-person team, in the 4th-year information systems and software engineering (2CS SIL) project at ESI Algiers (2023). The system has five layers: a relational database, a REST service layer (SOA architecture), a web client, three Android apps, and an on-board Arduino/Raspberry Pi computer that drives the drink mechanism. Key features: • Buying a drink: the consumer picks a drink on the machine's touch panel, pays by QR code with the mobile payment app, and preparation starts once the payment is confirmed. Invoices are emailed, and refund claims are handled when a paid drink is not delivered. • Targeted ads: while the drink is prepared, the panel plays an ad chosen from the consumer's estimated age and gender (face analysis). Sales agents manage advertisers and campaigns by period, region, price, audience and drink. • Monitoring: live machine status (in use, offline, out of service), ingredient levels, temperatures, GPS location, and theft and breakdown alerts. • Maintenance: agents unlock machines with a personal code, start or stop them, receive breakdown tasks automatically, and track their progress in the maintenance app. • Accounts and roles: super admin, client admin, sales agent, maintenance agent and decision-maker, each with their own access. • Dashboards: usage by region, successful and failed orders, payment transactions, repairs per agent, and revenue and costs by drink, machine type and region.

Problem

A vending machine manufacturer wanted to turn its hot-drink machines into connected devices, and give its clients one platform to sell, monitor and maintain a whole fleet instead of checking each machine by hand.

Approach

Led a 12-person team organized as a virtual company, from requirements to delivery. I built the REST backend (SOA), the web dashboard for admins, sales agents and decision-makers, and the Android apps for the machine control panel, consumers and maintenance agents, all communicating with the on-board computer through the REST services.

Results

  • Led a 12-person team through the full project, from requirements to delivery
  • End-to-end system: REST backend, web dashboard, three Android apps and an embedded controller
  • Covered the full machine lifecycle: registration, sales, payment, ads, monitoring, maintenance and analytics
SmartBev screenshot