A set of Emacs utilities for managing wine tasting events, tracking balances with participants, and publishing reviews. Built on top of vulpea and vino.
- Emacs 29.3+
- dash 2.19.1+
- s 1.13.0+
- vulpea 0.3.0+
- vino 0.4.0+
- vui 0.0.0+ (for event planning UI)
- widget-extra 1.0.0+
- hledger (for ledger functionality)
Core utilities used by other modules:
- Price formatting and parsing (
brb-price-format,brb-price) - QPR (Quality-Price Ratio) calculation (
brb-qpr) - String table formatting (
brb-string-table)
Event management for wine tastings:
brb-event-select- interactively select an eventbrb-event-create- create a new eventbrb-events-from-range- query events within a date range
Events are org-mode notes tagged with wine, event, and barberry/public.
Declarative UI for planning and managing wine tasting events. Built with vui.el - a React-like component library for Emacs.
Entry point:
brb-event-plan- open interactive planning buffer for an event
Features:
The UI is organized into tabs:
- plan - budget management, wine selection, participant management, shared spending
- scores - live scoring during the event with statistics (WAVG, SDEV, QPR)
- order - personal food/drink orders per participant
- extra - extra wine sales (by-the-glass)
- invoices - invoice generation with balance tracking and ledger integration
Supports blind tastings (hide wine identity until reveal), pays-for relationships (one participant pays for another), and real-time score ranking.
Balance tracking using hledger. Manages participant balances, deposits, charges, and spending.
Configuration:
(setq brb-ledger-file "/path/to/ledger.journal")
;; Or separate files for reading/writing:
(setq brb-ledger-file '("/path/to/read.journal" "/path/to/write.journal"))Key functions:
brb-ledger-display- display ledger with balances and transactionsbrb-ledger-deposit- record a deposit from a participantbrb-ledger-charge- charge an amount to a participantbrb-ledger-spend- record spending from the shared balancebrb-ledger-spend-personal- record personal spendingbrb-ledger-convive-display-balance- view a specific participant's history
Customization:
(setq brb-ledger-display-limit 50) ; number of transactions to show (default: 36)Custom widgets for brb UIs: money-label, balance-label, balance-reversed-label, note-label.
Utilities for posting wine reviews to social networks (e.g., Vivino).
brb-sn-display- show pending reviews grouped by event
# install deps
make prepare
# compile
make compile
# lint
make lint
# test
make testIf you enjoy this project, you can support its development via GitHub Sponsors or Patreon.