{"id":24073744,"url":"https://github.com/vtalpaert/autobar3","last_synced_at":"2026-05-04T10:32:10.090Z","repository":{"id":271153942,"uuid":"912546631","full_name":"vtalpaert/autobar3","owner":"vtalpaert","description":"Automated cocktail mixing machines using a community website for sharing recipies","archived":false,"fork":false,"pushed_at":"2026-04-09T11:52:25.000Z","size":2332,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-09T13:27:51.752Z","etag":null,"topics":["bartender","cocktail-bot","cocktails","esp32","iot","smart-bartender","svelte","tailwindcss"],"latest_commit_sha":null,"homepage":"https://robotcocktail.ovh","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vtalpaert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-05T21:45:08.000Z","updated_at":"2026-04-09T11:52:29.000Z","dependencies_parsed_at":"2025-01-05T22:27:14.972Z","dependency_job_id":"b9ec5b13-4b92-45c3-9699-9cb65f1dd799","html_url":"https://github.com/vtalpaert/autobar3","commit_stats":null,"previous_names":["vtalpaert/autobar3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vtalpaert/autobar3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtalpaert%2Fautobar3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtalpaert%2Fautobar3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtalpaert%2Fautobar3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtalpaert%2Fautobar3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vtalpaert","download_url":"https://codeload.github.com/vtalpaert/autobar3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vtalpaert%2Fautobar3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32603991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bartender","cocktail-bot","cocktails","esp32","iot","smart-bartender","svelte","tailwindcss"],"created_at":"2025-01-09T17:56:43.967Z","updated_at":"2026-05-04T10:32:10.063Z","avatar_url":"https://github.com/vtalpaert.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RobotCocktail\n\nA web platform and hardware solution for automated cocktail mixing machines.\n\n![home page](docs/screenshot_home_page.png)\n\n## Overview\n\nRobotCocktail is a modern reimagining of the [Autobar v1 project](https://github.com/vtalpaert/autobar). While the original project used Django and Raspberry Pi, this new version brings several key improvements:\n\n- Modern web interface built with SvelteKit and Tailwind CSS\n- User authentication and management\n- Support for multiple hardware implementations (ESP32, Raspberry Pi)\n- Over-the-air (OTA) updates for connected devices\n- RESTful API for device communication\n\n## Image gallery\n\n### With some debug data\n\n![My Cocktails (debug data)](docs/screenshot_mycocktails_debug_data.png)\n![My Bar (debug data)](docs/screenshot_mybar_debug_data.png)\n\n### Device configuration and calibration\n\n![Device configuration](docs/screenshot_configure_device.png)\n![Device calibration (stale data)](docs/screenshot_calibration_stale.png)\n\n## Components\n\nThe project consists of two main parts:\n\n1. **Web Platform**\n\n    - User authentication and management\n    - Cocktail recipe database with ingredients and doses management\n    - Device management interface\n    - [API endpoints](docs/api.md) for device communication\n    - Cocktail creation and editing with ingredient doses\n    - Artist collaboration system for joint cocktail creation\n    - Order management system for cocktail preparation\n    - Device simulator for testing order processing without physical hardware\n\n2. **Hardware Implementation**\n    - ESP32-based cocktail mixing machine (primary target)\n    - Support for legacy Raspberry Pi implementation (todo)\n    - Automated OTA updates\n    - Weight-based pour measurement\n    - Multiple pump control\n\n### ESP32 configuration using the access point\n\nUsing the Devices page, use \"Flash New Device\" and then \"Enroll via WiFi\" for instructions. The ESP32 will start an access point wifi network to configure the device.\n\n![access point](docs/screenshot_access_point.png)\n\nThe server URL field allows you to self host the main server !\n\n## Getting started with Docker\n\nIf you have docker installed, you might prefer to run the project for a quick demo\n\n### Preview\n\n```bash\ndocker build -t autobar3:preview -f dockerfiles/Dockerfile.preview .\ndocker run --rm -it autobar3:preview\n```\n\nThe admin authentication is in `.env.example`. You may change the values before building the image.\n\nBuilding the image will take care of creating the SSL certificates and build the firmware for you.\n\n\u003e The database is overwritten with each build !\n\n### Production\n\nCreate initial database or [migrate](https://orm.drizzle.team/docs/migrations) :\n\n```bash\n# Generate an image with the initial database and the development tools (drizzle-kit) to migrate the SQLite database\ndocker build --target production-database -t autobar3:prod-db -f dockerfiles/Dockerfile.prod .\n\n# Mount local data folder\nmkdir -p ./data\ndocker run --rm --mount type=bind,src=./data,dst=/data -it autobar3:prod-db\n```\n\nStart production server :\n\n```bash\ndocker build -t autobar3:prod -f dockerfiles/Dockerfile.prod .\ndocker run --rm --env-file .env.prod.example -p 3000:3000 --mount type=bind,src=./data,dst=/data -it autobar3:prod\n```\n\n## Local development\n\n### Certificates\n\nFirst, generate SSL certificates for local development:\n\n```bash\n./scripts/generate_dev_certificates.sh\n```\n\nThis script generates:\n\n- Self-signed certificates for HTTPS development server\n- The corresponding PEM file is built into the ESP32 firmware so that the device may trust the server using HTTPS\n\n\u003e These certificates are for development only and should not be used in production\n\n### Develop the firmware\n\nThe firmware is built locally into the `static/firmware` folder so that user may flash their device the first time via the webpage.\n\n#### Using the ESP-IDF plugin VS Code\n\nThe following dependencies are required\n\n```bash\nsudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0\n```\n\nInstall the ESP-IDF plugin and configure the extension. Version v5.3.2 is the only one tested for now.\nThe `CMakeLists.txt` includes commands to copy the firmware binaries to the static folder.\n\n#### Using docker\n\n(TODO) VS Code devcontainer or pure docker command\n\n\u003e Hint: use [this Dockerfile](dockerfiles/Dockerfile.preview) as a base\n\n### Web\n\nInstall dependencies and start the development server:\n\n```bash\nnpm install\nnpm run dev\n```\n\nThe development server will run with HTTPS using the generated self-signed certificates.\n\n\u003e Note: For production deployment, replace the development certificates with proper SSL certificates from a trusted Certificate Authority\n\n## Contributing\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines and contribution process.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvtalpaert%2Fautobar3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvtalpaert%2Fautobar3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvtalpaert%2Fautobar3/lists"}