It's a webOS-based signage solution kiosk example project that verification the face of registered users and makes custom recommendations.
🎥 View Demo
·
🐞 Report Bug
·
💬 Request Feature
🗂️ Table of Contents 🗂️
Small-scale business owners often face financial constraints that make it challenging to afford expensive signage solutions. Therefore, there is a growing need for an affordable, open-source-based signage solution that can be easily implemented without the high costs associated with traditional signage products. This proposal aims to develop a user-customized kiosk that recognizes users to recommend menus and dynamically update menu lists.
User Verification:
- The kiosk will utilize a camera to identify users and check if they are returning visitors with payment records.
- Images captured by the kiosk camera will be sent to an image process server for user identification.
- The server will verify if the recognized user is a returning visitor.
- In cases where user verification is unsuccessful, an alternative authentication method is provided.
Custom Menu Recommendations and Reconfiguration through Web App:
- User data registration will be facilitated both at the kiosk and in the server's database.
- The web app will offer menu recommendations based on user information.
- Menus will be dynamically altered based on user data (considering factors like allergies, etc.).
- Menu recommendations will operate using a user collaborative filtering algorithm based on the order history of registered users.
Note: Payment processing is not included in the scope of this project.
Our project was developed in an Apple Silicon environment, which provided us with advanced computing capabilities and efficiency. Here are the details:
- Platform: Apple Silicon (M1, M1 Pro, M1 Max, or later)
- Operating System: macOS Big Sur or later
- Memory: 8GB RAM or more
- Storage: 256GB SSD or higher
We recommend using a similar Apple Silicon-based environment for development to ensure compatibility
For setting up the client device in this project, you will need the following hardware components:
- Raspberry Pi 4 4GB(+@): The core computing unit for the kiosk.
- MicroSD Card with webOS Image: Use a microSD card loaded with the webOS image to boot the Raspberry Pi. For this project, we have used the pre-built webOS OSE 2.24.0 image for Raspberry Pi 4, which can be downloaded from here. Additionally, if you need guidance on flashing the webOS Open Source Edition to your microSD card, please refer to flashing webos-ose guide for detailed instructions.
- Touchscreen or Monitor: A display unit to interact with the kiosk. A touchscreen is preferred for a more interactive experience.
we use this - Webcam: An essential component for facial recognition or other interactive features. Ensure compatibility with the Raspberry Pi.
- Optional Input Devices: Devices like a mouse and keyboard for initial setup and troubleshooting.
- Power Supply and Cables: A suitable power supply for the Raspberry Pi and screen, along with necessary cables such as HDMI for connectivity.
Ensure that you have all these components available before proceeding with the setup of your client device for the signage solution project.
This guide will help you set up and run the project in your local environment. Follow these steps to get started.
Note: This guide is tailored for a setup on a single local PC. It can also be adapted for multi-server environments, accommodating both centralized and distributed systems efficiently.
Note: For effective data processing, we recommend hosting both the Flask application and database on the same system. This setup reduces latency and improves operational efficiency, especially for large, user-specific models.
The process for installing and setting up the project is as follows. This template does not rely on any external dependencies or services.
- Clone the repository.
git clone https://github.com/noFlowWater/signage_solution.git
- Move into the cloned directory.
cd signage_solution
After cloning and moving into the directory, you will find three folders in the project directory:
react
, flask
, nodejs
.
Proceed with the project in the following order:
- First, Get Start for Kiosk API Server & Init Database
- Then, Get Start for Face Authentication Server
- Finally, Get Start for React for Deploy to webOS Client Device
Each step is detailed in the README.md
file of the respective folder, allowing you to sequentially progress and gather the necessary information.