Sign inSign up

kienhoefr/drinklist

By kienhoefr

Updated almost 3 years ago

Fork of FIUS Drinklist

Image
0

2.7K

kienhoefr/drinklist repository overview

Drinklist

Find sources here

License: MIT

Docker

The Drinklist is essentially a digital tally sheet which is intended for tracking coffee or beverage self-service sales in offices or communities. It is intended to be used very quickly and with very minimal user interaction. This project also includes a management view to manage and track the inventory and the sales.

Drinklist was originally designed and built for the FIUS by its members.

Prerequisites

  • npm
  • sqlite3

Install locally

First install all dependencies and build the typescript sources with:

npm install
npm build

Then start the node js server with:

npm start

or run it directly with:

node .
# OR
node dist/express/main.js

Now go to http://localhost:8080 to start using Drinklist.

Image: kienhoefr/drinklist

Start with mapped config dir and forwarded ports:

docker run -e TZ="Europe/Berlin" -p 8080:8080 -v ~/drinklistData:/app/data kienhoefr/drinklist

You can also run Drinklist using docker-compose:

services:
  drinklist:
    image: kienhoefr/drinklist
    # You may also use the GitHub registry:
    #image: ghcr.io/kienhoefr/drinklist
    container_name: drinklist
    restart: unless-stopped
    ports:
      # Change to your liking or don't expose the port when you use an internal reverse proxy
      - 8080:8080
    volumes:
      # Use local bind mount
      - ./data:/app/data
      # Alternatively use docker volume
      #- drinklist-data:/app/data
    environment:
      # Optionally set the containers timezone. As all dates are saved in UTC there is not real need.
      # HOWEVER, it is recommended to set the timezone when upgrading from 1.x, as Drinklist will automatically migrate the database.
      TZ: Europe/Berlin

# When using docker volume to store the data
#volumes:
#  drinklist-data:
#    name: drinklist-data

Configuration

When first starting Drinklist, it will display a configuration page that can be used to configure Drinklist to your liking.

These settings are available:

user-settings.json
SettingDefaultExplanation
title"dagl/TOBL"The page title displayed in the Browser. You can use this for branding.
currencySymbol"€"Symbol used to display monetary values.
stocktrueWhether to display stock counts on the user page
imprinttrueWhether to display the button for the imprint
dataProtectiontrueWhether to display the button for the privacy statement.
recentlyPurchasedtrueEnable/disable the ticker on the user selection page.
config.json
SettingDefaultExplanation
port8080The port to listen on
auth.json

This file contains the passwords for the Drinklist users in plaintext for greater ease of use. In the future, Drinklist might change to hashing/salting the passwords.

AccountExplanation
kioskThe account for your users to use or for the fridge tablet to login with.
This account can see all users' accounts/balances and "buy" beverages for every user.
adminThis account can do all of the above, plus is able to manage Drinklist (i.e. login on the admin area and add/remove/edit users, beverages and more settings.
You should only use this account for administering Drinklist

Upgrading

Updates prior to 2.0 need manual steps to be done when updating. Instructions for these can be found here.

When updating to version 2.0, Drinklist will back up all you data files to a backup directory in your data folder, so you can roll back if anything goes wrong.

Interfaces

NameURLDescription
APIhttp://localhost:8080/apiThis is the api used to store and manage all information
Frontendhttp://localhost:8080/Frontend for user interaction and administration

Tag summary

Content type

Image

Digest

sha256:435d6e442

Size

123.1 MB

Last updated

almost 3 years ago

docker pull kienhoefr/drinklist