CatLab Drinks

Open-Source Bar Automation & POS System

A modern, self-hosted point-of-sale system designed for events, parties, and hospitality — with NFC payment support, smartphone ordering, and real-time sales tracking.

Open Web App Install Android App View on GitHub


Why CatLab Drinks?

Running a bar at an event shouldn't mean juggling cash, miscounting change, or losing track of sales. CatLab Drinks gives you a complete digital bar management system that you can deploy on your own server in minutes.

✅ Eliminate errors

No more miscounted change or incorrect totals. Every order is tracked digitally with accurate pricing.

📊 Real-time sales tracking

See exactly what's selling, how much revenue you're generating, and where your orders are coming from — all in real-time.

📱 Smartphone ordering

Let your attendees order drinks from their own phone. Orders go straight to the bar — no waiting in line.

💳 NFC card payments

Issue prepaid NFC cards for cashless payments. Top up, pay, and track balances — no cash needed.

📡 Works offline

Bad WiFi at the venue? No problem. The POS system continues to work offline and syncs when reconnected.

🔓 Self-hosted & open source

Your data stays on your server. Deploy your own instance, customise it to your needs, and keep full control.


Screenshots


Deploy Your Own Instance

CatLab Drinks is designed to be self-hosted. You deploy it on your own server, keeping full control over your data and configuration. Getting started is straightforward:

  1. Clone the repository from GitHub
  2. Configure your environment and database
  3. Run migrations and build the frontend assets
  4. Create an account and set up your first event

A Docker Compose configuration is included for quick deployment. Check the repository for detailed setup instructions.


How NFC Cards Work

CatLab Drinks implements a closed-loop NFC payment system using NTAG213 chips. Here's how it works technically:

Card structure

Each NTAG213 NFC chip stores a unique card ID, balance, transaction counter, and a cryptographic signature. Data is written directly to the card's NDEF-compatible memory sectors.

Encryption & integrity

Card data is protected using AES encryption with an organisation-level secret key. Each transaction updates the balance and a rolling counter, which is signed to prevent tampering or replay attacks. Cards from one organisation cannot be used at another.

Hardware requirements

You need NTAG213 NFC tags for each attendee. For reading cards, you can use the CatLab Drinks Android app on any device with a built-in NFC reader. Alternatively, you can use an ACR122U (or compatible) USB NFC card reader with a lightweight companion service that communicates with the POS browser over a socket.io connection.

Offline support

Because the balance is stored on the card itself, transactions can be processed even when the internet connection is intermittent. Transactions are synced to the server when connectivity is restored.

For USB NFC readers, the companion service runs on a Raspberry Pi or any machine with USB access. See the NFC socket.io service repository for setup instructions.


Frequently Asked Questions

Can I use standard NFC tags for a festival payment system?

Yes. CatLab Drinks works with standard NTAG213 NFC tags that cost as little as €0.10 each. There is no need for expensive proprietary wristbands or vendor-locked hardware.

What hardware do I need to run a cashless event?

Any Android phone or tablet with NFC can serve as a POS terminal. For desktop setups, a USB NFC reader such as the ACR122U works with our companion service. The system is fully hardware-agnostic.

Is CatLab Drinks suitable for small events on a tight budget?

Absolutely. The software is free and open-source, NFC tags are extremely cheap, and you can use existing Android devices as terminals. This makes it ideal for student unions, community events, and small festivals.

How does the NFC card security work?

Each POS terminal has its own ECDSA cryptographic key pair. Card data is signed with the terminal private key and verified using approved public keys. The card hardware UID is included in the signature to prevent cloning.

Does the system work offline?

Yes. Because the balance is stored directly on the NFC card, transactions can be processed even without an internet connection. Data syncs automatically when connectivity is restored.


License

CatLab Drinks is free software released under the GNU General Public License v3. You are free to use, modify, and distribute it.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.