Giter VIP home page Giter VIP logo

justinmichaelvieira / ezdmb Goto Github PK

View Code? Open in Web Editor NEW
23.0 5.0 14.0 17.52 MB

A dead-simple digital menu board display and configuration, written in Python.

License: GNU Lesser General Public License v3.0

Python 99.99% QMake 0.01% MAXScript 0.01% CSS 0.01% Shell 0.01% Dockerfile 0.01%
python fullscreen startup tablet pos restaurant restaurant-management restaurant-menu digital-signage digital-menu

ezdmb's Introduction

ezdmb

A dead-simple digital menu board display and configuration, written in Python. Engineered to be the simplest, cheapest, fastest way to get your menu to display on any tablet or computer. Ridiculously user friendly, with basic configuration interface.

How to run through python3 (dev mode)

Setup for executing the python source:

  1. Run the environment install script in a bash terminal: chmod +x ./setup-dev-environment.sh && ./setup-dev-environment.sh
  2. Run the app: python3 -m ezdmb

Instructions / Basic Operation

On load, both the fullscreen and configuration windows are loaded. The configuration window can be simply closed by the user if it is not needed, leaving the fullscreen "menu board display" window open.

The display in the main screen of the configuration (under the text "Current menu") mirrors the full screen display.

System configuration

The system can be configured using:

  • The "Display Settings" button and related screens
  • Manually editing the dmb_config.json file

Advanced install instructions / troubleshooting install

If the developer install script/procedure does not work for you, try installing manually as follows:

  1. Install python libraries: pip install -r requirements.txt
  2. Install pyqt dev tools: sudo apt install pyqt5-dev-tools
  3. Install the qt framework loader: pip install -U pip && pip install aqtinstall
  4. Use the qt framework loader to install v5.15.2: aqt install-qt linux desktop 5.9.0
  5. Add qt build tools to your path (replace <username> in the command with the username on the system): export PATH="/home/<username>/ezdmb/5.15.2/gcc_64/bin":$PATH

Note 1: There is a set of .ui files in the View/ folder. If these are updated (usually they are updated with Qt Designer), you would run python3 setup.py build_ui to regenerate them. Note 2: Qt Designer can be installed, on Ubuntu systems, with:

sudo apt-get install qttools5-dev-tools
sudo apt-get install qttools5-dev

On Windows and Mac, use the Qt Framework install packages provided at https://www.qt.io/

Code Listing / Technical Documentation

dmb_config.pro

Qt Designer project file which loads all designer (*.ui) files. If you create a new .ui file, be sure to add it to this project.

ezdmb/

The ezdmb package. Contains source python for the application.

ezdmb/__main__.py

The main entry point of the application. Note: In a lot of scenarios, you will want to run python -m ezdmb (or the compiled output equivalent) on startup of the OS.

ezdmb/Controller/Configuration.py

Handles configuration of the system, and outputting the config json.

windows_install/

Files for building the Windows platform installer.

debian/

Files for building the Debian (linux) platform installer.

Note: There is currently only one file with code that is generated by the .ui files: ezdmb/View/generated/DmbConfig_ui.py. This generated file is checked in for convenience... However, you can run python setup.py build_ui to re-generate it, if you choose to edit the .ui file in QT Designer.

Resource files in ezdmb/Resources/

Resource file is at ezdmb/Resources/resources.qrc. In standard PyQt5 style, the generated resources.py class file can be regenerated with: pyrcc5 ezdmb/Resources/resources.qrc -o resources.py.

Coming Soon

  • Installers + binaries for Windows, WinRT, Linux/android, iOS, MacOS
  • Option for whether the app loads on OS startup, expanded file types
  • Multi monitor support
  • Import menu data from json, yaml file
  • Menu item and sub item rendering

ezdmb's People

Contributors

justinmichaelvieira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ezdmb's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.