https://github.com/filipecarneiro/elabel
Open-source solution for electronic labels on wine bottles.
https://github.com/filipecarneiro/elabel
asp-net-core asp-net-mvc docker e-label elabel label qr-code wine wine-qr
Last synced: about 2 months ago
JSON representation
Open-source solution for electronic labels on wine bottles.
- Host: GitHub
- URL: https://github.com/filipecarneiro/elabel
- Owner: filipecarneiro
- License: mit
- Created: 2023-11-29T21:00:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-06T16:29:32.000Z (5 months ago)
- Last Synced: 2025-04-30T18:49:23.304Z (about 2 months ago)
- Topics: asp-net-core, asp-net-mvc, docker, e-label, elabel, label, qr-code, wine, wine-qr
- Language: JavaScript
- Homepage: https://filipecarneiro.github.io/ELabel/
- Size: 5.56 MB
- Stars: 27
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![]()
[](https://github.com/filipecarneiro/ELabel/blob/main/LICENSE.txt)
[](https://learn.microsoft.com/en-us/aspnet/core/?view=aspnetcore-8.0)
[](https://hub.docker.com/repository/docker/fcarneiro/elabel/general)
[](https://app.lokalise.com/public/811531676572f985a58773.20133510/)
[](https://makeapullrequest.com)# Open E-Label
Open-source solution for **electronic labels** on **wine** bottles.
The Open E-Label project aims to provide a standardized and open-source solution for **QR Code** labeling on products sold within the European Union. This initiative seeks to enhance transparency, efficiency, and information accessibility in the wine industry.
Electronic labels provide ***allergy***, ***energy***, ***ingredient*** and ***nutritional information*** to consumers.
We believe that technology to provide non-commercial nutrition information to benefit consumers should be made available for free.
[
](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=781)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=793)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=765)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=767)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=737)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=640)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=10154)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=768)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=673)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=666)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=761)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=773)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=949)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=734)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=10153)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=10152)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=882)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=748)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=1057)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=770)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=799)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=10159)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=1056)
[](https://app.lokalise.com/project/811531676572f985a58773.20133510/?view=single&reference_lang_id=640&single_lang_id=754)
## ๐งพ Features
- **Electronic Labeling**: Replacing traditional paper labels with electronic labels, promoting sustainability and reducing waste.
- **Multilingual Support**: Ensuring labels can be displayed in multiple languages to accommodate diverse consumers within the EU.
- **Regulatory Compliance**: Adhering to EU regulations regarding wine labeling, providing a platform that streamlines compliance for wineries.## ๐ EU Regulations
Regulations (EU) of the European Parliament and of the Council:
- [EU 2021/2117](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A02021R2117-20211206) amending Regulations:
- [EU 1308/2013](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A02013R1308-20231208&qid=1701283989850) establishing a common organisation of the markets in agricultural products
- [EU 1151/2012](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A02012R1151-20220608&qid=1701284230571) on quality schemes for agricultural products and foodstuffs
- [EU 251/2014](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A02014R0251-20231208&qid=1701284265305) on the definition, description, presentation, labelling and the protection of geographical indications of aromatised wine products (**aromatised wine labelling**)
- [EU 228/2013](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A02013R0228-20211207&qid=1701284298071) laying down specific measures for agriculture in the outermost regions of the Union
- [EU 1169/2011](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A02011R1169-20180101&qid=1701362311604) provision of food information to consumers (**food labelling**)
- [EU 2019/934](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32019R0934&qid=1701362513497) regards wine-growing areas where the alcoholic strength may be increased...
- [EU 2019/33](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02019R0033-20231208) regards applications for protection of designations of origin, geographical indications and traditional terms in the wine sector### Notes
- [C/2023/1190](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=OJ:C_202301190) Questions and answers on the implementation of new EU wine labelling provisions
- [Guidance document](https://food.ec.europa.eu/system/files/2016-10/labelling_nutrition-vitamins_minerals-guidance_tolerances_1212_en.pdf) Guidance document on the tolerances for nutrition labelling purposes
- [Guidance table](https://food.ec.europa.eu/system/files/2016-10/labelling_nutrition-vitamins_minerals-guidance_tolerances_summary_table_012013_en.pdf) Guidance document tolerances: Simplified summary table## ๐ฑHow to Use
1. Scan the QR code on the wine bottle with a QR code scanner.
2. The E-label for the wine will be displayed on your device.
3. You can switch between languages using the language selection option on the E-label.## ๐ Build & Run locally
To build the Open E-Label project using Visual Studio, follow these steps:
1. Clone this repository to a local folder
1. Open `ELabel.sln` solution with Visual Studio
1. Build and start the project## ๐ Deployment
The web app can be deployed using the [published Docker image](https://hub.docker.com/r/fcarneiro/elabel). Here are the steps to run it with Docker compose:
1 Create a new directory and download `docker-compose.yml` sample:
```shell
mkdir elabel && cd elabel
wget https://raw.githubusercontent.com/filipecarneiro/ELabel/main/docker-compose.yml
```2 Write your passwords to an .env file (change to your own passwords!):
```shell
echo "MSSQL_SA_PASSWORD=MyStrongPassword" >> .env
echo "ADMIN_PASSWORD=MyAdminPassword" >> .env
```3 Start all containers:
```shell
docker-compose pull
docker-compose up -d
```4 View Logs:
```shell
docker-compose logs -f
````db` will take some time in the first start, so the app will restart a couple of times. Be patient!
When you see something like `Now listening on: http://[::]:8080` on the log, open your browser with the server name or IP address.
## ๐ Contributing
Contributions are welcome! Please read our [contributing guidelines](CONTRIBUTING.md) before getting started.
### Translation
Translations for Open E-Label are managed through [Lokalise](https://lokalise.com/), an online translation management tool.
Click the link below to join the project! Even if your language is completely translated, extra proofreading is a big help! Please feel free to review the existing translations, and vote for alternatives that might be more appropriate.
- [Join the E-Label translation team](https://app.lokalise.com/public/811531676572f985a58773.20133510/)
For more information about the translation editor and tools, please see the [Lokalise translate and collaborate documents](https://docs.lokalise.com/en/collections/2909016-translate-and-collaborate).
Translations are downloaded from Lokalise on every release.
Check the current [localization statistics](https://app.lokalise.com/statistics/811531676572f985a58773.20133510/).## โ๏ธ License
Open E-Label is open-source under the MIT license. See the [LICENSE file](LICENSE.txt) for more information.