Luncher
Aplikace pro profesionální management obědů.
Aplikace sestává ze tří (čtyř) modulů.
- food_api
- Python scraper/parser pro zpracování obědových menu restaurací
- server
- backend psaný v node.js
- client
- frontend psaný v React.js
- nginx
- proxy pro snadné propojení Docker kontejnerů pod jednou URL
Spuštění pro vývoj
Závislosti
Food API
Klient/server
Spuštění na *nix platformách
- Nainstalovat závislosti viz předchozí bod
- Zkopírovat
client/.env.template
doclient/.env.development
a upravit dle potřeby - Zkopírovat
server/.env.template
doserver/.env.development
a upravit dle potřeby - Spustit
./run_dev.sh
. Na jiných platformách se lze inspirovat jeho obsahem, postup by měl být víceméně stejný.
Sestavení a spuštění produkční verze v Docker
Závislosti
Spuštění
docker compose up --build -d
TODO
- Umožnit smazání aktuální volby "popelnicí", místo nutnosti vybrat prázdnou položku v selectu
- Přívětivější možnost odhlašování
- Vyřešit responzivní design pro použití na mobilu
- Vyndat URL na Food API do .env
- Neselhat při nedostupnosti nebo chybě z Food API
- Dokončit docker-compose pro kompletní funkčnost
- Implementovat Pizza day
- Umožnit uzamčení objednávek zakladatelem
- Možnost uložení čísla účtu
- Automatické generování a zobrazení QR kódů
- Zobrazovat celkovou cenu objednávky pod tabulkou objednávek
- Zobrazit upozornění před smazáním/zamknutím/odemknutím pizza day
- Umožnit přidat k objednávce poznámku (např. "bez oliv")
- Předvyplnění poslední vybrané hodnoty občas nefunguje, viz komentář
- Nasazení nové verze v Docker smaže veškerá data (protože data.json není venku)
- Vylepšit dokumentaci projektu
- Popsat Food API, nginx
- Popsat závislosti, co je nutné provést před vývojem a postup spuštění pro vývoj
- Popsat dostupné env
- Pizzy se samy budou při naklikání přidávat do košíku
- Nutno nejprve vyřešit předávání PHPSESSIONID cookie na pizzachefie.cz pomocí fetch()
- Přesunout autentizaci na server (JWT?)
- Zavést .env.template a přidat .env do .gitignore
- Zkrášlit dialog pro vyplnění čísla účtu, vypadá mizerně
- Podpora pro notifikace v externích systémech (Gotify, Discord, MS Teams)
Description
Languages
TypeScript
96.7%
SCSS
1.2%
Dockerfile
1%
JavaScript
0.4%
HTML
0.3%
Other
0.3%