{"id":31782486,"url":"https://github.com/andrewohnsland/cocktailberry-stats","last_synced_at":"2026-01-22T07:15:26.634Z","repository":{"id":47301112,"uuid":"468747398","full_name":"AndreWohnsland/CocktailBerry-Stats","owner":"AndreWohnsland","description":"WebApp with API and endpoint for CocktailBerry. Have insights into made cocktails.","archived":false,"fork":false,"pushed_at":"2025-05-24T06:44:37.000Z","size":6075,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-05-24T07:35:53.130Z","etag":null,"topics":["cocktail","cocktailberry","cocktails","deta","python","streamlit"],"latest_commit_sha":null,"homepage":"https://stats-cocktailberry.streamlit.app/","language":"Python","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/AndreWohnsland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2022-03-11T12:45:27.000Z","updated_at":"2025-05-24T06:44:40.000Z","dependencies_parsed_at":"2023-02-09T19:31:30.303Z","dependency_job_id":"f8f62379-38eb-4ad8-b1ff-36d274c24d2a","html_url":"https://github.com/AndreWohnsland/CocktailBerry-Stats","commit_stats":null,"previous_names":["andrewohnsland/cocktailberry-stats"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/AndreWohnsland/CocktailBerry-Stats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreWohnsland%2FCocktailBerry-Stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreWohnsland%2FCocktailBerry-Stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreWohnsland%2FCocktailBerry-Stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreWohnsland%2FCocktailBerry-Stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndreWohnsland","download_url":"https://codeload.github.com/AndreWohnsland/CocktailBerry-Stats/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreWohnsland%2FCocktailBerry-Stats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003411,"owners_count":26083581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cocktail","cocktailberry","cocktails","deta","python","streamlit"],"created_at":"2025-10-10T09:22:17.702Z","updated_at":"2026-01-22T07:15:26.622Z","avatar_url":"https://github.com/AndreWohnsland.png","language":"Python","funding_links":["https://www.buymeacoffee.com/AndreWohnsland"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"docs/pictures/logo_dashboard.png\" alt=\"CocktailBerry\" width=\"750\"/\u003e\n\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/AndreWohnsland/CocktailBerry-WebApp)\n![GitHub Release Date](https://img.shields.io/github/release-date/AndreWohnsland/CocktailBerry-WebApp)\n![Python Version](https://img.shields.io/badge/python-%3E%3D%203.13-blue)\n![GitHub](https://img.shields.io/github/license/AndreWohnsland/CocktailBerry-WebApp)\n![GitHub issues](https://img.shields.io/github/issues-raw/AndreWohnsland/CocktailBerry-WebApp)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=AndreWohnsland_CocktailBerry-WebApp\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=AndreWohnsland_CocktailBerry-WebApp)\n![GitHub Repo stars](https://img.shields.io/github/stars/AndreWohnsland/CocktailBerry-WebApp?style=social)\n\n[![Support CocktailBerry](https://img.shields.io/badge/Support%20CocktailBerry-donate-yellow)](https://www.buymeacoffee.com/AndreWohnsland)\n\nWebApp with API and endpoint for [CocktailBerry](https://github.com/AndreWohnsland/CocktailBerry). Have insights into made cocktails.\n\n## Getting Started\n\n### Installing Dependencies\n\nWe use [Astral UV](https://docs.astral.sh/uv/) to manage dependencies and run the applications:\n\n```bash\nuv sync --all-packages\n```\n\n### Running the Application\n\n```bash\n# omit uv run if using normal python\nuv run uvicorn app:app --reload # backend -\u003e cd backend first\nuv run streamlit run streamlit_app.py # frontend, use in main folder\n```\n\nIf you want to have everything working, you will need to set up a mongodb, which can be done locally (docker) or with a cloud provider.\nCopy the `.env.example` in both folders as a `.env` file and change the url dummy to your mongo db url:\n\n```bash\ncp backend/.env.example backend/.env\ncp frontend/.env.example frontend/.env\n```\n\nUsing `DEBUG=1` in the env files will enable some dev features, like the creation of an additional `*_dev` database to let you test anything without changing your main one.\nThe `BACKEND_URL` defaults to localhost (http://127.0.0.1:8000), where the backend runs locally.\nIf you deploy backend and frontend on two different places (like streamlit share and deta space), you need to set this variable in the frontend accordingly.\nFor detailed instruction for deployment, please refer to the according docs of your provider.\n\n## Architecture\n\nIn this project, a self hosted web server is used to host the backend.\nCurrently, streamlit share is used to host the backend, but it can be easily deployed to any other provider.\nThe WebApp can be accessed freely over any browser.\nThe API is protected an can be only accessed with an according API key to prevent unauthorized access.\nTo get an API key for your [CocktailBerry](https://github.com/AndreWohnsland/CocktailBerry) machine follow the instructions on the website.\nAlternatively, you can clone this repo, set up your own dashboard with backend and use the according hook endpoint and header values with the CocktailBerry microservice for your own, private dashboard.\n\n![ProgramSchema](docs/diagrams/out/Schema.svg)\n\n## Access\n\nSimply go to the [site](https://stats-cocktailberry.streamlit.app/) and have nice insight into the data.\nIf you have build your [CocktailBerry](https://github.com/AndreWohnsland/CocktailBerry) and use the official software, you can get an API key for CocktailBerry to use the provided endpoint to submit your production data. This way, you can actively participate. 🙌\n\nAlso, if you directly just want the data for the last 24 hours, for example if you want to give your guest insights in the current developments of the cocktail stats, there is the possibility to add the `?partymode=true` query parameter to the url.\nThis will cause the \"Only Show last 24h Data\" checkbox to be checked by default.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewohnsland%2Fcocktailberry-stats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewohnsland%2Fcocktailberry-stats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewohnsland%2Fcocktailberry-stats/lists"}