Published February 4, 2026 | Version v3
Software Open

Restaurant Recommendation Application

  • 1. FERI, UM

Description

The Restaurant Recommender project is a privacy-preserving, user-centric recommendation system that helps users discover restaurants based on their personal preferences, contextual information (e.g., time of day, calendar events), and location. The project consists of three main components: an Android mobile app, a backend server, and a web interface. All components work together to provide a seamless experience across platforms, while ensuring minimalistic and privacy-protected data sharing.

1. Android Mobile App

The Android mobile app is the primary interface for users to interact with the restaurant recommendation engine. The app allows users to:

  • Discover restaurants in Slovenia based on cuisine preferences, time of day (e.g., lunch or dinner), and location.
  • Filter restaurants using personalized recommendations based on previous interactions (e.g., clicked restaurants, user ratings, and sentiment).
  • View restaurants on a map, using Google Maps interface.
  • Privacy-preserving search: The app stores user preferences locally in a XML file on the phone, ensuring that minimal data is shared with the server. Only the complemented query, which includes essential information like cuisine preferences, time, and location, is sent to the backend for collaborative filtering.

2. Web Interface

The web version of the app mirrors the functionality of the Android mobile app. Users can:

  • Search for restaurants based on cuisine, time of day, and other preferences through an intuitive web interface.

3. Backend

The backend server handles the recommendation logic and processes queries from both the mobile app and web interface. The key features include:

  • Collaborative filtering engine: The server runs the collaborative filtering model to provide personalized restaurant recommendations based on user preferences and data.
  • Minimal data exchange: The backend only receives a minimal complemented query from the mobile app or web interface, ensuring that sensitive user data remains on the user's device.
  • Contextual post-filtering: After the server processes the query, the results are adjusted locally on the user's phone, taking into account contextual information like calendar events and sentiment analysis from user interactions.
  • Database of restaurants: The backend stores a database of restaurants, sourced from TripAdvisorincluding information like cuisine type, ratings, and operating hours. A subset of this data is downloaded and maintained locally to improve search efficiency and privacy at the edge (on-device or on-region servers).

Files

OWS.zip

Files (279.1 MB)

Name Size Download all
md5:c39fb78b2a80b2a9b22b732d891285a1
20.5 MB Download
md5:706f50ca470058469a3072a53e36254f
258.6 MB Preview Download

Additional details

Software

Repository URL
https://github.com/HUMADEX/OWS
Programming language
Python , Kotlin , JavaScript , Java