TS Backlog 2020q3 === # Múzeum július elejei teszt kirakás * OTP integráció * Payumserver integráció az adminba (Balázs review utáni kör) * OTP Payum modul (final review) * Payumserver kirakás teszt környezetbe (kész) * Időpontfoglalós rendszer * darabszám limitek (final review először) * múzeum widgetbe bekötés (final review másodszor) * Widget integrációs megoldás a múzeum oldalába * Múzeum teszt kirakás * Demo (Áronék) # Múzeum w28 * Widget többnyelvűség * Dashboard widgetek # Külső tesztelések * pár emberrel teszteltessük le a hajón, ha már a regisztrációs folyamat le van tisztítva # Folyamat átnézés Ezeket szeretnénk az augusztusi indulásig megvalósítani. ## Passeum.com - regisztráció - magyarázzuk el, hogy most az ügyfél regisztrál - ? lehessen google/fb regisztráció is? de akkor hogyan kérjük be az azonosítót? - azonosító átnevezés/magyarázat - inkább cégnév+kontakt kellene, cégnév slug lehetne az azonosító? - az admin app default usere ugyanezt az email és jelszót kapja - belépés gomb túl hangsúlyos (tervekről kikerült most épp), helyette csak egy link - jelszó bonyolultságot kijelezhetnénk submit előtt - aktiválás mellett már engedjük be a rendszerbe, írjuk ki neki, hogy aktiválnia kell, de kerülhet egyből a profiljára, ahol látja, hogy még nincs kész az admin app, de mindjárt... és egyszercsak kizöldül, és dolgozhat tovább. Viszont nem lehet addig szerződést aktívba állítani, amíg a fiókja nem aktív - passeum.com -os levelek feladóját rendesen beállítani, DNS-t hozzálőni - fiókom és profil oldalak - a kettő összevonása - bolt funkciók (később több is lehet) - szerződés folyamatának kezelése - ebben választja ki a konstrukciót (hozzá folyik be a pénz vagy hozzánk) - jelezzük neki, hogy ezzel még van dolga, hiába tudta elkezdeni használni az admint - szerződést csak letölti (egységes pdf), vagy kitöltheti az összes változó adatot és generálunk neki? - fizetési szolgáltató beállítás (ha olyan a szerződése) - számlázási szolgáltató beállítás (ha olyan a szerződése) - admin felhasználóinak kezelése (beléptető stb., meghívó küldése) - belépés a boltba (külön auth nélkül) bármelyik userrel ## Admin app - Általános - tooltip-ek legyenek mindenhol, erre dolgozzunk ki koncepciót (https://kazzkiq.github.io/balloon.css/ **Kornél**) - integrálhatunk valami toolt is, ami guide-ként végigvezeti egyszer a usert a menüpontokon, funkciókon stb. (Keresni kellene ilyeneket.) - lábléc nem kell - esetleg Cypress tesztek??? nem prioritás, nagy effortot ne tegyünk rá, csak nézzünk rá, hogy van-e realitása használni - Dashboard - ide volt tervezve egy tutorial video, ha csinálunk, akkor inkább valami marketinges legyen, fél perc, ami mutat a felületekből is - stat widgetek (pl. aktuális események) - Események - eseményen belül lehessen minden funkciót elvégezni, ne kelljen kijönni (esemény beállítások, jegy/voucher létrehozás, akár még statok is) - eseményen belül legyen még egy szint, valami dashboard-szerűség - stat widgetekkel - valamilyen státusz modullal, ami megmutatja, hogy az egyes fázisokkal hogy állunk (pl. értékesítéshez az alapadatok és a jegyek kellenek, amint ez megvan, indulhat a widget); akár ebből (is?) tovább lehetne menni az esemény beállításokhoz - esemény beállítás gombok? akár külön, a mostani tabok megszüntetésével (ezekben úgysem dolgoznak párhuzamosan jellemzően) - ide kerülne át a Jegy/Voucher létrehozás - legyen breadcrumb, az esemény neve vigyen vissza az esemény dashboardra - akár magát a jegy listát is kiemelni ide? - esemény alapadatok: kerüljön be a helyszín, kerüljön rá a jegyre is (lásd: https://git.a38.hu/ts/admin/issues/145) (lehet, hogy jobb lenne ezt nem helyszínnek hívni, vagy a locationt valami másnak, hogy ne kavarodjon) - szabályszerkesztők: on-the-fly is lehessen új helyszínt hozzáadni - jegybeváltás: ne szolgáltatásnak hívjuk, hanem Szabálynak. A nevét pedig magyarázzuk el - összes szerkesztő menüpont - dobozos elrendezést dobjuk ki - Zalai terveihez hasonló? - itt is mindenhol tooltipek! - jegyek létrehozáskor automatikusan kerüljenek be egy olyan Jegybeváltás (<- felületen átnevezni Beengedésről) szabályba, aminek a dátuma az esemény alapadatoknál lévő intervallum - jegyeknél jelöljük valami piktogrammal, hogy tartozik-e hozzá legalább 1 jegybeváltási szabály - jegyeknél írjuk ki a listába, hogy mennyi van eladva belőle - BUG jegyeknél tag címke beírás + enter után ottmarad a szöveg - Jegybeváltás: Kapcsolódó szolgáltatások és Automatikus összerendelés most kikerül (Brainbar miatt volt csak értelme) - [ ] favicon csere passeumosra - Megjelenés / template-ek - egyelőre minimál funkcióval (email fejléckép, widget színezés stb.) - külön menüpontban lehessen sablonokat felvinni és szerkeszteni, ezeket az eseménynél kiválasztani (régi kapcsolódó: admin/153-156) - fussuk át ezeket, hogy van-e bennük használható - https://git.a38.hu/ts/admin/issues/129 - https://git.a38.hu/ts/admin/issues/184 - Zalai Gábor összes tickete - Jegy kép - legyen színes - élesebb - jegy alatti szöveg és logó paraméterezhető - Visszaváltás felület sitebuild átnézés - Törzsadatok - helyszín szerkesztő (globális) # Backend funkciók ## Admin - [x] legyen env-be kivezetve az email settings - [ ] alsó sávban a Terms helyett jobb oldalon legyen ott a verziószám, és ez valahogy automatikusan lenne jó, pl. git tagből kiszedni és beleírni egy static fileba a build során? Akkor csak annyi a feladat, hogy ha létezik ez a fájl, akkor kerüljön oda a tartalma; azt is írjuk oda, ha ez egy teszt app! 1h - [x] logozás stdout-ra **SZINYA** (`app/config/config_(dev|prod).yml` példa) - [ ] új beváltás felület wireframe (#188) - Nádas Peti munkájának átnézése -> Ákos devreview 5d **kiosztva** - [ ] jegy újraküldés (elvileg kész, https://git.a38.hu/ts/admin/issues/144) 1d **kiosztva** - [ ] payum integráció (final) 1d - [ ] statisztika email szűrés (final, https://git.a38.hu/ts/admin/-/issues/68) 1d? - [ ] jegyek visszaváltása (tranzakció és számla jóváíróval együtt) (itt az eredeti terv az akkor létrehozott ticketekkel: https://hackmd.io/th_HdASvSBKeUn9yCFQK9w) - [ ] függőben lévő visszaváltások kezelése és tárolása 4d - [ ] voucher visszaváltás/érvénytelenítés működik? admin vagy core fejlesztés kell hozzá? 1d - [ ] számlázz.hu integráció megvan (valszeg nincs még behúzva), csak a számlaszámot nem mentjük el a `payment_data` -ba 0.5d - [ ] order statból is lehessen indítani - [ ] endroid QR generáló csere (final) 2h - [ ] számlaszám eltárolás számlázás után #179 + core#171 (final) (becslés lent) - [ ] Beengedési művelet módosítása (https://git.a38.hu/ts/admin/-/issues/147) ? - [ ] ~~további barion paraméterek eseményenként (https://git.a38.hu/ts/admin/issues/181)~~ új ticket: 4d - [ ] ennek legyen egy törzse, amit a superadmin módosíthat a passeum.com -on, a törzsben fizetési+számlázási szolgáltató kombinációk vannak, ezek közül az **eseménynél** a szervező választhat, hogy melyiket aktiválja; ezt admin fiókonként külön kell tudni definiálni (registry-ben valahol a customer alatt, hasonlóan a customer data-hoz) - [ ] a statisztikánál a fizetés módja innen kellene, hogy töltődjön, és így el lehetne kerülni azt is, hogy a teszt és éles vásárlások összemosódjanak - [ ] translation rendberakás (final) (becslés lent) - [ ] Widget átalakítás ingyenes rendezvények esetén (https://git.a38.hu/ts/admin/issues/192) 2d **Még feldolgozandó** - [ ] PKPass (a38.hu alapján) - [ ] számla újraküldés és letöltés (ha megvan a számlaszám és a szolgáltató, akkor az order statban lehetne erre gomb) - [ ] beváltás folyamat állítható legyen (most hibásan a brainbar-os touchscreen-es a default, ami nem jó) - [ ] beváltás és beléptetés: a JS kezelje le, ha pár másodpercen belül újraküldjük ugyanazt a vonalkódot. A QR olvasók néha duplán sülnek el, és ilyenkor pl. beváltásnál a második leolvasás már sikertelen, ami megtévesztheti a hostesst. - [ ] eseményszerkesztő felületeiben Ctrl-S -sel lehessen menteni, mutassa vizuálisan, hogy elkezdődött valami (pl. form elemek inaktív és/vagy spinner valahol vagy hasonló - [ ] időpontfoglalásos (Balázstól) - [ ] maga az elnevezés backenden szerintem nem egyértelmű, ha az adminnak az iránya hogy idővel nyitásra kerüljön akkor szerintem érdemes lenne átgondolni az elnevezést angolul (szerintem showtime lenne a helyes, vagy valami hasonló, az appointment bár fordításban időpontot jelent, de én úgy gondolom más értelemben és nem egy műsör időpontot neveznek igy) - [ ] kellene egy supervisor funkció, amivel lejárt kosarakat mégis finalized-re tudunk állítani. Ha valamiért előáll az a helyzet, hogy a fizetés sikeres volt, de az admin erről nem értesült, akkor sztornózás helyett ezzel a funkcióval ki lehetne küldeni a jegyeket és a számlát. - [ ] Múltban lévő események adatait is meg lehessen nézni (readonlyban? vagy ugyanúgy?) - [ ] cache-elt tartalmak (pl. /translations?locales=hu_HU) olyan fájlba legyenek kiírva, ami egyezik az URL-lel, hogy ki lehessen hagyni a PHP feldolgozást és nginx adja vissza közvetlenül **Később** - User módosító felület, ahol bármelyik user jelszavát (és egyéb dolgokat?) lehet szerkeszteni - Helyszíni jegyértékesítő felület - Backlog of backlog: https://hackmd.io/sFqgjddZQBKKglT4beNWLA - számlázásnál ha AAM-et adunk meg (hogy ezt adjuk át a számlázz.hu -nak), akkor az 0-ra konvertál, ami így helyes, de ha léteznek más ilyen kódok is, amiknél nem feltétlenül 0 az érték, amit használni kellene, ezt kezelni kell valahogyan ## Core - [ ] adott client-nek ne engedjünk ugyanazzal a névvel több location-t létrehozni (final) 2h - [x] logozás stdout-ra **SZINYA** (config példa) - TODO ROBI `APP_LOG=errorlog`, `APP_LOG_LEVEL` - [ ] oauth id generálás minden adminra külön legyen _lowprio_ 1d - [ ] payment data editor endpoint #171 + admin#179 (final) 0.5d - [ ] Kötelező egyediség az entry_code-ok esetében (final) 1d - [ ] order statisztika szűrés bundle-re #28 (final) , majd bekötni az adminba: https://git.a38.hu/ts/admin/issues/65 1d (együtt) - [ ] Jegybeváltás naplózása (final) 2h - [ ] consumer kibővített logozás (final) 1h - [ ] stat lekérdezés hiba https://git.a38.hu/ts/core/-/issues/120 4h - [ ] kerekítés kezelése https://git.a38.hu/ts/core/-/issues/94 2h - [ ] health endpoint bővítés https://git.a38.hu/ts/core/-/issues/81 2h - [ ] beléptetéshez eltárolt adatok #161 (final) 4h Egyebek - [ ] docker-compose-ban memcached 1.6 frissítés okozna gondot? _lowprio_ 1d ## Widget - [ ] jegy lista load spinner: https://git.a38.hu/ts/shop-widget/issues/9 (final) 1h - [ ] payment data beküldése widget használatával https://git.a38.hu/ts/admin/-/issues/197 (final) 1h - [ ] cart itemek groupolása id szerint https://git.a38.hu/ts/admin/-/issues/46 (final) 0.5d - [x] többnyelvű widget admin#135 (todo 1d) + admin#130 (final 2h) - [ ] widget chrome hiba (https://git.a38.hu/ts/shop-widget/-/issues/11) 1d _lowprio_ - [ ] ha most nyitva van a darabszamos ablak, es a kulso tovabb gombra kattintok, akkor ne menjen egybol tovabb, eloszor csak zarja be az ablakot 0.5d Egyebek - [ ] mobil datepicker (időpont foglaláshoz) (szabad helyeket ki tudja írni?) _lowprio_ ## Wordpress - [ ] regisztráció közben entert nyomva a Belépés gomb a default, szerintem az a gomb nem is kell oda **CROBI** - átalakul, valszeg deprecated ## Payumserver - [ ] további fejlesztések (https://git.a38.hu/ts/payumserver/-/issues/10) 3d - [ ] átnézés security szempontból, belső audit 2d - [ ] teljes tranzakció logozás 1d - [ ] sztornó működés kitalálása 1d - [ ] simplepay modulban sztornó #3 (final) review:0.5d - [ ] és ebben payumserver sztornó endpointok (elkészült a simplepay-es fejlesztésnél) - [ ] OTP sztornó - [ ] barion sztornó callback-kel együtt (Pásztó Gábornál talán van egy POC) - [ ] véglegesített sztornó esetén callback az admin felé - [ ] Barion integráció (fizetés) 2d - [ ] #8 befejezése (tesztek) 4h - [ ] userkezelés API-n keresztül 2d - [ ] demo fájlok törlése a webrootból (https://git.a38.hu/ts/payumserver/-/issues/11) 1h - [ ] tranzakciók ütemezett frissítése (https://git.a38.hu/ts/payumserver/issues/6) 1d ## Ops - [ ] kulturált és egységes kinézetű hibaüzenetek a konténerekből 4d - [ ] traefik (pl. ha nem indult még el a backend) - [ ] nginx (pl. ha timeout-ol az FPM) - [ ] alkalmazások (ne legyenek debug üzenetek) - mindegyik 1 db html legyen külső függőségek nélkül - [ ] alap doksi fejlesztőknek