From 47cd9f90c8c2cb6c76ad85e9d73798af95fad715 Mon Sep 17 00:00:00 2001 From: Martin Berka Date: Sun, 24 Sep 2023 09:25:24 +0200 Subject: [PATCH] =?UTF-8?q?Odd=C4=9Blen=C3=AD=20TODO=20do=20samostatn?= =?UTF-8?q?=C3=A9ho=20souboru?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 70 +------------------------------------------------------ TODO.md | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 69 deletions(-) create mode 100644 TODO.md diff --git a/README.md b/README.md index 7795d57..8aeefdc 100644 --- a/README.md +++ b/README.md @@ -29,72 +29,4 @@ Aplikace sestává ze tří modulů. - `docker compose -f compose-traefik.yml up --build -d` ## TODO -- [ ] Možnost úhrady celé útraty jednou osobou - - Základní myšlenka: jedna osoba uhradí celou útratu (v zájmu rychlosti odbavení), ostatním se automaticky vygeneruje QR kód, kterým následně uhradí svoji část útraty - - Obecně to bude problém např. pokud si někdo objedná něco navíc (pití apod.) - - [ ] Tlačítko "Uhradit" u každého řádku podniku - platí ten, kdo kliknul - - [ ] Zobrazeno bude pouze, pokud má daný uživatel nastaveno číslo účtu - - [ ] Dialog pro zadání spropitného, které se následně rozpočte rovnoměrně všem strávníkům - - [ ] Generování a zobrazení QR kódů ostatním strávníkům - - [ ] Umožnit u každého strávníka připočíst vlastní částku (např. za pití) - - [ ] Umožnit (např. zaškrtávátky) vybrat, za koho bude zaplaceno (pokud někdo bude platit zvlášť) -- [ ] Podpora pro notifikace v externích systémech (Gotify, Discord, MS Teams) - - [ ] Umožnit zadat URL/tokeny uživatelem - - [ ] Umožnit uživatelsky konfigurovat typy notifikací, které se budou odesílat - - [ ] Zavést notifikace typu "Jdeme na oběd" - - [ ] Notifikaci dostanou pouze uživatelé, kteří mají vybranou stejnou lokalitu -- [ ] Vylepšit parsery restaurací - - [ ] Sladovnická - - [ ] Zbytečná prvotní validace indexu, datum konkrétního dne je i v samotné tabulce s jídly, viz TODO v parseru - - [ ] U Motlíků - - [ ] Validovat, že vstupní datum je zahrnuto v rozsahu uvedeném nad tabulkou (např. '12.6.-16.6.') - - [ ] Jídelní lístek se stahuje jednou každý den, teoreticky by stačilo jednou týdně (za předpokladu, že se během týdne nemění) - - [ ] TechTower - - [ ] Validovat, že vstupní datum je zahrnuto v rozsahu uvedeném nad tabulkou (typicky 'Obědy 12. 6. - 16. 6. 2023 (každý den vždy i obědový bufet)') - - [ ] Jídelní lístek se stahuje v rámci prvního požadavku daný den, ale často se jídelní lístek na stránkách aktualizuje až v průběhu pondělního dopoledne a ten zobrazený je proto neaktuální - - Stránka neposílá hlavičku o času poslední modifikace, takže o to se nelze opřít - - Nevím aktuálně jak řešit jinak, než častějším scrapováním celé stránky - - [X] Někdy jsou v názvech jídel přebytečné mezery kolem čárek ( , ) -- [ ] Nasazení nové verze v Docker smaže veškerá data (protože data.json není vystrčený ven z kontejneru) - - [ ] Zavést složku /data -- [ ] Mazat z databáze data z minulosti, aktuálně je to k ničemu -- [ ] Skripty pro snadné spuštění vývoje na Windows (ekvivalent ./run_dev.sh) -- [ ] Implementovat Pizza day - - [ ] Zobrazit upozornění před smazáním/zamknutím/odemknutím pizza day - - [ ] 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() - - [ ] Ceny krabic za pizzu jsou napevno v kódu - problém, pokud se někdy změní - - [ ] Umožnit u Pizza day ručně připočíst cenu za přísady - - [X] Prvotní načtení pizz při založení Pizza Day trvá a nic se během toho nezobrazuje (např. loader) - - [X] Po doručení zobrazit komu zaplatit (kdo objednával) - - [x] Zbytečně nescrapovat každý den pizzy z Pizza Chefie, dokud není založen Pizza Day - - [x] Umožnit uzamčení objednávek zakladatelem - - [x] Možnost uložení čísla účtu - - [x] Automatické generování a zobrazení QR kódů - - [x] https://qr-platba.cz/pro-vyvojare/restful-api/ - - [x] Zobrazovat celkovou cenu objednávky pod tabulkou objednávek - - [x] Umožnit přidat k objednávce poznámku (např. "bez oliv") - - [x] Negenerovat QR kód pro objednávajícího -- [X] Možnost náhledu na ostatní dny v týdnu (např. pomocí šipek) - - [X] Možnost výběru oběda na následující dny v týdnu -- [X] Umožnit vybrat libovolný čas odchodu -- [X] Validace zadání smysluplného času (ideálně i klientská) -- [x] Umožnit smazání aktuální volby "popelnicí", místo nutnosti vybrat prázdnou položku v selectu -- [x] Přívětivější možnost odhlašování -- [x] Vyřešit responzivní design pro použití na mobilu -- [x] Vyndat URL na Food API do .env -- [x] Neselhat při nedostupnosti nebo chybě z Food API -- [x] Dokončit docker-compose pro kompletní funkčnost -- [x] Vylepšit dokumentaci projektu - - [x] Popsat závislosti, co je nutné provést před vývojem a postup spuštění pro vývoj - - [x] Popsat dostupné env -- [x] Přesunout autentizaci na server (JWT?) -- [x] Zavést .env.template a přidat .env do .gitignore -- [x] Zkrášlit dialog pro vyplnění čísla účtu, vypadá mizerně -- [x] Zbavit se Food API, potřebnou funkcionalitu zahrnout do serveru -- [x] Vyřešit API mezi serverem a klientem, aby nebyl v obou projektech duplicitní kód (viz types.ts a Types.tsx) -- [X] Vybraná jídla strávníků zobrazovat v samostatném sloupci -- [X] Umožnit výběr/zadání preferovaného času odchodu na oběd - - Hodí se např. pokud má někdo schůzky -- [X] Ukládat dostupné pizzy do DB místo souborů -- [X] Ukládat jídla do DB místo souborů \ No newline at end of file +Dostupné [zde](TODO.md). \ No newline at end of file diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..8f34e19 --- /dev/null +++ b/TODO.md @@ -0,0 +1,70 @@ +# TODO +- [ ] Možnost úhrady celé útraty jednou osobou + - Základní myšlenka: jedna osoba uhradí celou útratu (v zájmu rychlosti odbavení), ostatním se automaticky vygeneruje QR kód, kterým následně uhradí svoji část útraty + - Obecně to bude problém např. pokud si někdo objedná něco navíc (pití apod.) + - [ ] Tlačítko "Uhradit" u každého řádku podniku - platí ten, kdo kliknul + - [ ] Zobrazeno bude pouze, pokud má daný uživatel nastaveno číslo účtu + - [ ] Dialog pro zadání spropitného, které se následně rozpočte rovnoměrně všem strávníkům + - [ ] Generování a zobrazení QR kódů ostatním strávníkům + - [ ] Umožnit u každého strávníka připočíst vlastní částku (např. za pití) + - [ ] Umožnit (např. zaškrtávátky) vybrat, za koho bude zaplaceno (pokud někdo bude platit zvlášť) +- [ ] Podpora pro notifikace v externích systémech (Gotify, Discord, MS Teams) + - [ ] Umožnit zadat URL/tokeny uživatelem + - [ ] Umožnit uživatelsky konfigurovat typy notifikací, které se budou odesílat + - [ ] Zavést notifikace typu "Jdeme na oběd" + - [ ] Notifikaci dostanou pouze uživatelé, kteří mají vybranou stejnou lokalitu +- [ ] Vylepšit parsery restaurací + - [ ] Sladovnická + - [ ] Zbytečná prvotní validace indexu, datum konkrétního dne je i v samotné tabulce s jídly, viz TODO v parseru + - [ ] U Motlíků + - [ ] Validovat, že vstupní datum je zahrnuto v rozsahu uvedeném nad tabulkou (např. '12.6.-16.6.') + - [ ] Jídelní lístek se stahuje jednou každý den, teoreticky by stačilo jednou týdně (za předpokladu, že se během týdne nemění) + - [ ] TechTower + - [ ] Validovat, že vstupní datum je zahrnuto v rozsahu uvedeném nad tabulkou (typicky 'Obědy 12. 6. - 16. 6. 2023 (každý den vždy i obědový bufet)') + - [ ] Jídelní lístek se stahuje v rámci prvního požadavku daný den, ale často se jídelní lístek na stránkách aktualizuje až v průběhu pondělního dopoledne a ten zobrazený je proto neaktuální + - Stránka neposílá hlavičku o času poslední modifikace, takže o to se nelze opřít + - Nevím aktuálně jak řešit jinak, než častějším scrapováním celé stránky + - [X] Někdy jsou v názvech jídel přebytečné mezery kolem čárek ( , ) +- [ ] Nasazení nové verze v Docker smaže veškerá data (protože data.json není vystrčený ven z kontejneru) + - [ ] Zavést složku /data +- [ ] Mazat z databáze data z minulosti, aktuálně je to k ničemu +- [ ] Skripty pro snadné spuštění vývoje na Windows (ekvivalent ./run_dev.sh) +- [ ] Implementovat Pizza day + - [ ] Zobrazit upozornění před smazáním/zamknutím/odemknutím pizza day + - [ ] 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() + - [ ] Ceny krabic za pizzu jsou napevno v kódu - problém, pokud se někdy změní + - [ ] Umožnit u Pizza day ručně připočíst cenu za přísady + - [X] Prvotní načtení pizz při založení Pizza Day trvá a nic se během toho nezobrazuje (např. loader) + - [X] Po doručení zobrazit komu zaplatit (kdo objednával) + - [x] Zbytečně nescrapovat každý den pizzy z Pizza Chefie, dokud není založen Pizza Day + - [x] Umožnit uzamčení objednávek zakladatelem + - [x] Možnost uložení čísla účtu + - [x] Automatické generování a zobrazení QR kódů + - [x] https://qr-platba.cz/pro-vyvojare/restful-api/ + - [x] Zobrazovat celkovou cenu objednávky pod tabulkou objednávek + - [x] Umožnit přidat k objednávce poznámku (např. "bez oliv") + - [x] Negenerovat QR kód pro objednávajícího +- [X] Možnost náhledu na ostatní dny v týdnu (např. pomocí šipek) + - [X] Možnost výběru oběda na následující dny v týdnu +- [X] Umožnit vybrat libovolný čas odchodu +- [X] Validace zadání smysluplného času (ideálně i klientská) +- [x] Umožnit smazání aktuální volby "popelnicí", místo nutnosti vybrat prázdnou položku v selectu +- [x] Přívětivější možnost odhlašování +- [x] Vyřešit responzivní design pro použití na mobilu +- [x] Vyndat URL na Food API do .env +- [x] Neselhat při nedostupnosti nebo chybě z Food API +- [x] Dokončit docker-compose pro kompletní funkčnost +- [x] Vylepšit dokumentaci projektu + - [x] Popsat závislosti, co je nutné provést před vývojem a postup spuštění pro vývoj + - [x] Popsat dostupné env +- [x] Přesunout autentizaci na server (JWT?) +- [x] Zavést .env.template a přidat .env do .gitignore +- [x] Zkrášlit dialog pro vyplnění čísla účtu, vypadá mizerně +- [x] Zbavit se Food API, potřebnou funkcionalitu zahrnout do serveru +- [x] Vyřešit API mezi serverem a klientem, aby nebyl v obou projektech duplicitní kód (viz types.ts a Types.tsx) +- [X] Vybraná jídla strávníků zobrazovat v samostatném sloupci +- [X] Umožnit výběr/zadání preferovaného času odchodu na oběd + - Hodí se např. pokud má někdo schůzky +- [X] Ukládat dostupné pizzy do DB místo souborů +- [X] Ukládat jídla do DB místo souborů \ No newline at end of file