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
- Table of contents
- Development environment setup
- Additional installations before contributing
- Release strategy from
developmenttomainbranch - Google Cloud Platform utilities
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_SECRETandDATA_LUNCH_OAUTH_ENC_KEYare required even ifserver=no_authis set.
[!TIP] Use the command
data-lunch utils generate-secretsto 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7c63809825c21697359920fbcb46b5fb8b266962292ff94a4df95f5a271e129
|
|
| MD5 |
dc551af190ada282d113fbbf9cae0a94
|
|
| BLAKE2b-256 |
aec94dd98b7124c36da651ddc61aaebb9edc147a97a9d44b586c12bbaa018337
|
Provenance
The following attestation bundles were made for dlunch-3.7.0.tar.gz:
Publisher:
ci_cd.yaml on Michele-Alberti/data-lunch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dlunch-3.7.0.tar.gz -
Subject digest:
f7c63809825c21697359920fbcb46b5fb8b266962292ff94a4df95f5a271e129 - Sigstore transparency entry: 264888478
- Sigstore integration time:
-
Permalink:
Michele-Alberti/data-lunch@6e424a7b2c0389558ed723de928db06154d5dd49 -
Branch / Tag:
refs/tags/v3.7.0 - Owner: https://github.com/Michele-Alberti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd.yaml@6e424a7b2c0389558ed723de928db06154d5dd49 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8849018b1721096b645e762c838e4dd24637fe63a31c6f3f9fd70a9b3008e72a
|
|
| MD5 |
9aa14793af949da5d3a5ccebd0661ad7
|
|
| BLAKE2b-256 |
bb205bacf8f9582c720c1cf02dfcd79dbf24ed4e13f6a4223b34bcfa2d4908d9
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dlunch-3.7.0-py3-none-any.whl -
Subject digest:
8849018b1721096b645e762c838e4dd24637fe63a31c6f3f9fd70a9b3008e72a - Sigstore transparency entry: 264888479
- Sigstore integration time:
-
Permalink:
Michele-Alberti/data-lunch@6e424a7b2c0389558ed723de928db06154d5dd49 -
Branch / Tag:
refs/tags/v3.7.0 - Owner: https://github.com/Michele-Alberti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd.yaml@6e424a7b2c0389558ed723de928db06154d5dd49 -
Trigger Event:
push
-
Statement type: