(Bell Challenge)


⛶  Open fullscreen


Basel Hack 2022 Bell Challenge

Problem Statements

Bell proposes to solve a few problems. The major one is fighting foodwaste by enabling people to get recipe suggestions supplying an image of their fridge content. The second problem is to get to know Bell customers better to provide a tailored Bell experience to them. The solutions on the market are scattered APIs or unfinished solutions. They dont include the companies' need to have their products suggested to their customers.


We have created a proof of concept: a webapp, developed in a mobile first concept, which merges open APIs, enriches the data with Bell products, and suggests recipes to customers. We are using an API to which an image can be sent, and the products are recognized. Then the products are enhanced with Bell products and send to a second API which sends back recipe suggestions. These are displayed to the user.

Technical Prerequisites

  • Node
  • NPM



  • VueJS 2
  • Vuetify
  • VueRouter
  • Axios

Backend Setup

git pull
npm install
node server.js

APIs for Local Use

localhost:3000/create-recipie localhost:3000/recognize-image/

Frontend Setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

:meatonbone: :computer: :greenheart: :poultryleg: :rainbow:


The google presentation is here

URL to Check out the PoC

This content is a preview from an external site.

Event finished

23.10.2022 16:00

Change url from localhost to aws (@murermader)

Merge branch 'rb-ingredients-from-image'


backend/controller/imageRecognition.controller.js (@murermader)

Change token (@murermader)

Ingredients will be sent from front end to server (@murermader)

Merge pull request #14 from mfatima21/feature/backend-apis

new token (@mfatima21)

new token (@mfatima21)

Ingredients from the API will be returned to the frontend (@murermader)

backend: server script rename to serve-backend (@murermader)

Added 'serve' script to backend (@murermader)

add correct readme (@Tamalera)

Search: Added using statements (@murermader)

Merge pull request #13 from mfatima21/hook-up-FE-and-BE

Remove hardcoded recipes and hook up BE (@yguenduez)

Remove hardcoded recipes and hook up BE (@Tamalera)

Merge pull request #12 from mfatima21/recommondations-bell-algo-FE

Add recommendation und bell-style chip (@Tamalera)

Add recommendation und bell-style chip (@Tamalera)

Added Bell recommendation logic

  • Ingredients will be searched for exact matches. If a match is found, a recommendation will be added to the recipe. The recommendation contains the Name and the URL.
  • For every ingredient there are multiple possible recom (@murermader)

Merge pull request #11 from mfatima21/fix-communication

Change route to daynamic URL (@Tamalera)

Change route to daynamic URL * Correct bellicious typo (@Tamalera)

Inverse document frequency will be ignored

This probably makes sense, because (@murermader)

Search: Keep unicode characters intact in JSON output (@murermader)

Merge pull request #10 from mfatima21/feature/backend-apis

error handling (@yguenduez)

error handling (@mfatima21)

Merge pull request #9 from mfatima21/recipe-page-with-api-connection

Recipe page with api connection (@yguenduez)

Fix axios for build (@Tamalera)

Add axios to frontend project * Add fetch on mount of recipe page * Log result to console (@Tamalera)

Add a nginx reverse proxy config - forwarding the frontend (@yguenduez)

Merge main (@Tamalera)

Merge pull request #8 from mfatima21/feature/backend-apis

backend apis (@mfatima21)

backend apis (@mfatima21)

Merge pull request #6 from mfatima21/docu-link

Docu: Add link to google presentation (@yguenduez)

Merge pull request #7 from mfatima21/documentation

Idea for presentation and pitch (@yguenduez)

CreateSearchIndex: Refactoring (@murermader)

Return recipes as JSON (@murermader)

Add recipe card page * Data hardcoded but from "real" result * Add image placeholder * TODO: Bell logic (@Tamalera)

Add recipe page with dummy data * TODO: change image * TODO: randomize Bell suggestion (@Tamalera)

Docu: Add link to google presentation (@yguenduez)

Idea for presentation and pitch (@Tamalera)

Merge pull request #5 from mfatima21/main-page-setup

Main page setup (@yguenduez)

Merge pull request #4 from mfatima21/user-page-static

User page static (@yguenduez)

Refactoring C# code (@murermader)

CreateSearchIndex project created

This project uses the Lucene.Net library to create and search an index directory.

Todo: - Path to .csv file should be parameterisable. - Process will be used to search the index. The search terms will be parsed from the (@murermader)

Merge pull request #3 from mfatima21/fancy-readme

Fancy readme (@Tamalera)

Add bell logo * Add basic upload option (@Tamalera)

Prettify Avatar (@Tamalera)

Add user page with static content * Add avatar * Add greeting * Add food preferences and allergy list * Add buttons for future implementation (@Tamalera)

Add .DS_STORE to .gitignore (@murermader)

more emojies (@Tamalera)

Remove readme file from BE to main page * Add FE setup * Add skeleton for file * Prettify BE setup * Add emojies, because I can (@Tamalera)

Merge pull request #2 from mfatima21/frontend

Frontend (@yguenduez)

Event started

22.10.2022 09:00
BaselHack 2022