{"id":24580733,"url":"https://github.com/laxsrbija/foodbot","last_synced_at":"2026-05-06T22:37:13.294Z","repository":{"id":99618695,"uuid":"220624760","full_name":"laxsrbija/foodbot","owner":"laxsrbija","description":"A system for communication between food providers and corporate users.","archived":false,"fork":false,"pushed_at":"2020-09-02T14:47:46.000Z","size":958,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T15:57:42.707Z","etag":null,"topics":["buzzer","raspberry-pi","skype","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laxsrbija.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}},"created_at":"2019-11-09T10:14:59.000Z","updated_at":"2020-09-02T14:47:48.000Z","dependencies_parsed_at":"2023-07-31T05:30:53.656Z","dependency_job_id":null,"html_url":"https://github.com/laxsrbija/foodbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/laxsrbija/foodbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxsrbija%2Ffoodbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxsrbija%2Ffoodbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxsrbija%2Ffoodbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxsrbija%2Ffoodbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laxsrbija","download_url":"https://codeload.github.com/laxsrbija/foodbot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxsrbija%2Ffoodbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32715409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"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":["buzzer","raspberry-pi","skype","spring-boot"],"created_at":"2025-01-24T01:56:00.650Z","updated_at":"2026-05-06T22:37:13.288Z","avatar_url":"https://github.com/laxsrbija.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](./resources/images/logo.png)\n\nFoodBot is a system for communication between food providers (e.g. catering services or restaurants) and corporate users.\nIt manages the food provider's weekly menu and notifies its end-users via a Skype group.  \n\n[![Build Status](https://travis-ci.org/laxsrbija/foodbot.svg?branch=master)](https://travis-ci.org/laxsrbija/foodbot)\n[![Maintainability](https://api.codeclimate.com/v1/badges/330f6f8dd2540c814e6d/maintainability)](https://codeclimate.com/github/laxsrbija/foodbot/maintainability)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=laxsrbija_foodbot\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=laxsrbija_foodbot)\n\n\n## Features\n* Menu storage and management\n* Automatic parsing and filtering of the newly received menu\n* User review system\n* Skype messaging via Skype Web Client and token caching\n* Daily reminder at a configurable time\n* Placeholder and configuration system\n* Random daily greeting message\n* Food delivery notification\n* RESTful API\n* Swagger endpoint documentation\n* Hardware integration by utilising the Raspberry Pi GPIO pins \n\n## Overview\nFoodBot stores a weekly menu given by the food provider. \nBased on the current day of the week and the configured time, it will send a reminder message to the predefined Skype group chat.\n\nThe actual message that is being sent can be fine-tuned using both system and user-defined placeholders. \nBefore sending the message, FoodBot will replace the provided placeholders with actual data.\n\nFood provider can notify the system of menu updates by email. \nFoodBot will try to parse the provided menu but will leave a copy of the original message.\nA notification is then sent to each person marked as a reviewer.\nReviewers can modify the parsed values if needed and then publish the new menu.\n\n### Hardware integration\nIf you are hosting the project on a Raspberry Pi, you can integrate its GPIO pins with FoodBot.\nFoodBot can listen to button presses (the actual action is performed when the button is released) on a predefined GPIO pin.\n\nWhen the food arrives, simply press the button and FoodBot will send a notification to the end-users' group and play a sound \n(via a buzzer connected to a GPIO pin) based on the message delivery status. The buzzer itself can be independently disabled in configuration.\n\n## Getting started\nThe easiest way to run FoodBot is by using a precompiled package from the [Releases page](https://github.com/laxsrbija/foodbot/releases).\n\nYou also need to have Java 11 installed and fill out the configuration file. \nA sample FoodBot configuration can be found [here](https://github.com/laxsrbija/foodbot/blob/master/foodbot-webapp/src/main/resources/application.yaml).\n\nFoodBot can use both an embedded in-memory H2 database or be configured to use an external server, like MariaDB.\n\nOnce the configuration process is complete, place the configuration file in the same folder as `foodbot.jar` \nand start the server with `java -jar foodbot.jar`. \nYou can also provide a different configuration file location using the `--spring.config.location` flag.\n\nOnce the server is running, you can open http://localhost:8080 for further info.\n\n## Starting a development version\nIf you want to develop or build FoodBot locally, make sure that Java 11 JDK and Maven are installed.\n\nAfter cloning the project locally, copy the sample configuration file and place it in the project root directory as `application-dev.yaml`.\nFoodBot comes with IntelliJ IDEA run configurations, so it will pick-up the configuration file automatically.\n\nYou can also set the active Spring profile to `development`, which will add an additional endpoint useful for development.\n\n### Building the project\nBuild the project by performing a `mvn clean install`. \nA `foodbot.jar` will be generated in the target folder of the webapp module.\n\nBy default, the Raspberry Pi integration will not be included. \nTo enable it, simply add a `-Prpi` flag when performing the build.\n\n### Project architecture\n![](./resources/images/diagram.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaxsrbija%2Ffoodbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaxsrbija%2Ffoodbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaxsrbija%2Ffoodbot/lists"}