/bar-assistant

Bar assistant is a self hosted application for managing your home bar.

Primary LanguagePHPMIT LicenseMIT

Bar assistant Logo

Docker image Docker image Tests

🍸 Bar Assistant

Bar Assistant is a self hosted application for managing your home bar. It allows you to search and filter cocktails, add ingredients and create custom cocktail recipes.

This repository only contains the API server, if you are looking for easy to use web client, take a look at Salt Rim.

Click here to view API demo.
Click here to view frontend demo.
Email: admin@example.com · Password: password

Features

  • Includes all current IBA cocktails
  • Over 100 ingredients
  • Endpoints for managing of ingredients and cocktails
  • Mark ingredients you have and get all cocktails that you can make
  • Detailed cocktail and ingredient information
  • Ability to upload and assign images
  • Shopping list for missing ingredients
  • Automatic indexing of data with your prefered search engine
    • Supports all drivers that Laravel Scout supports: Algoila, Meilisearch, Database
  • Cocktail ingredient substitutes
  • Assign glass types to cocktails
  • Cocktail recipe scraping
  • Cocktail ratings
  • User cocktail collections
  • Cocktail notes

Documentation

Documentation is available here.

Contributing

Feel free to create a pull request or open a issue with bugs/feature ideas.

Development environment

You can use docker to quick start with the development.

  1. Clone the repository
  2. Copy .env.dev as .env, or setup your own env file
  3. Run docker compose up -d
  4. Then run the following commands:
$ docker compose exec app composer install
$ docker compose exec app php artisan key:generate
$ docker compose exec app php artisan storage:link
$ docker compose exec app php artisan migrate
$ docker compose exec app php artisan bar:open

Xdebug vscode launch config:

{
    "name": "Listen for Xdebug",
    "type": "php",
    "request": "launch",
    "port": 9003,
    "hostname": "host.docker.internal",
    "pathMappings": {
        "/var/www/cocktails/": "${workspaceFolder}"
    }
}

License

The Bar Assistant API is open-sourced software licensed under the MIT license.