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