Skip to main content

The ultimate web app for a well organized lunch.

Project description

Data Lunch

The ultimate web app for a well organized lunch.

Table of contents

Introduction

Data-Lunch is a web app to help people managing lunch orders.
The interface make possible to upload a menu as an Excel file or as an image. The menu is copied inside the app and people are then able to place orders at preset lunch times.
Users can flag an order as a takeway one, and, if something change, they can move an order to another lunch time (or change its takeaway status).

The systems handle guests users by giving them a limited ability to interact with the app (they can in fact just place an order).

Once all order are placed it is possible to stop new orders from being placed and download an Excel files with every order, grouped by lunch time and takeaway status.

The idea behind this app is to simplify data collection at lunch time, so that a single person can book a restaurant and place orders for a group of people (friends, colleagues, etc.).

[!IMPORTANT] This section is a work in progress, the app has a lot of configurations, not yet described in this documentation.
Authentication and guest management are just examples of what is missing from this documentation.

Installation

Install commitizen using pip:

 pip install dlunch

For the program to work properly you need the following system dipendencies:

  • SQLite: used if you set the database to sqlite.
  • Tesseract: used to convert images with menu to text.

If you need help on how to install those system preferences on linux (Debian) you can check the file docker/web/Dockerfile.web.
It shows how to install them with apt.

Usage

Before starting you need the following environment variables to avoid errors on Data-Lunch startup.

Environment variables

[!IMPORTANT] DATA_LUNCH_COOKIE_SECRET and DATA_LUNCH_OAUTH_ENC_KEY are required even if server=no_auth is set.

[!TIP] Use the command data-lunch utils generate-secrets to generate a valid secret.

Variable Type Required Description
PANEL_ENV str ✔️ Environment, e.g. development, quality, production, affects app configuration (Hydra)
PORT int Port used by the web app (or the container), default to 5000; affects app configuration (it is used by Hydra)
DATA_LUNCH_COOKIE_SECRET str ✔️ Secret used for securing the authentication cookie (use data-lunch utils generate-secrets to generate a valid secret); leave it as an empty variable if no authentication is set
DATA_LUNCH_OAUTH_ENC_KEY str ✔️ Encription key used by the OAuth algorithm for encryption (use data-lunch utils generate-secrets to generate a valid secret); leave it as an empty variable if no authentication is set

[!NOTE] The following variables are just a small part of the total. See [here][environment-variables] for more details.

Launch command

Use the following command to start the server with default configuration (SQLite database, no authentication):

python -m dlunch

Connect to localhost:5000 (if the default port is used) to see the web app.

Customization

Data-Lunch configurations explout Hydra versatility. It is possible to alter default configurations by using Hydra's overrides, for example

python -m dlunch panel/gui=major_release

will alter some graphic elements to show a release banner.

Docker

A Docker image with Data-Lunch is available here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dlunch-3.7.0.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dlunch-3.7.0-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

File details

Details for the file dlunch-3.7.0.tar.gz.

File metadata

  • Download URL: dlunch-3.7.0.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dlunch-3.7.0.tar.gz
Algorithm Hash digest
SHA256 f7c63809825c21697359920fbcb46b5fb8b266962292ff94a4df95f5a271e129
MD5 dc551af190ada282d113fbbf9cae0a94
BLAKE2b-256 aec94dd98b7124c36da651ddc61aaebb9edc147a97a9d44b586c12bbaa018337

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlunch-3.7.0.tar.gz:

Publisher: ci_cd.yaml on Michele-Alberti/data-lunch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dlunch-3.7.0-py3-none-any.whl.

File metadata

  • Download URL: dlunch-3.7.0-py3-none-any.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dlunch-3.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8849018b1721096b645e762c838e4dd24637fe63a31c6f3f9fd70a9b3008e72a
MD5 9aa14793af949da5d3a5ccebd0661ad7
BLAKE2b-256 bb205bacf8f9582c720c1cf02dfcd79dbf24ed4e13f6a4223b34bcfa2d4908d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlunch-3.7.0-py3-none-any.whl:

Publisher: ci_cd.yaml on Michele-Alberti/data-lunch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page