Skip to content

Instantly share code, notes, and snippets.

@dsdenes
Last active August 29, 2015 14:20
Show Gist options
  • Save dsdenes/f9466a25303d2cac289a to your computer and use it in GitHub Desktop.
Save dsdenes/f9466a25303d2cac289a to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
</head>
<html>
<title>CARDEX Specifikáció - POD Modul</title>
<xmp theme="superhero" style="display:none;">
# A modul célja
A modul célja, hogy a látogatók különböző kategóriákba sorolt **képeslapokat** testre szabjanak és azokat **megvásárolják**. A megrendelt képeslapokat ezután postán kapják meg. A vásárlási folyamatnak **intuitívnak** és **gyorsnak** kell lennie, hogy minél kisebb mértékű legyen a folyamat elhagyása. A folyamat bármikor **abbahagyható** és bármelyik lépésébe újra **visszacsatlakozhat** a felhasználó.
# UI nézetek
### Modul főoldal
- 3 hasáb.
- A POD funkció **működését szemléltető ábra**.
- Aktuális **hirdető banner**.
- Szezonális POD akciók.
- 3 **legnépszerűbb képeslap.**
- 3 **legnépszerűbb** képeslap **kategória**.
- Bal oldalon megjelenik az **összes POD kategória**. A névre való kattintáskor az alkategória listanézet jelenik meg.
#### Mobil nézet
A mobil nézetben az alábbi tartalmak egymás alá rendeződve jelennek meg:
- A POD funkció **működését szemléltető ábra**.
- Az aktuális **hirdető banner** mobil változata.
- POD **kategóriák** egymás alatt; alkategóriái behúzással rendezve.
### Főkategória lista , alkategória lista
A látogató a **kiválasztható POD kategóriákat** látja lista nézetben. A kategóriák alatt szöveges leírás jeleníthető meg. A rendszer **alapértelmezés** szerint a kategória **legnépszerűbb** képeslapjait jeleníti meg a lista elején.
- A képeslapok alatt megjelenik az **áruk**.
- A képeslapok képe mellet megjelenő kis **szív ikonnal** tudja a felhasználó az adott lapot a **kedvencei** közé rakni.
- A lista oldalán megjelenik a **többi kategória** neve is. A checkboxok bejelölésével a megjelenített **lista kibővül** az újonnan bejelölt kategóriákba tartozó képeslapokkal is.
- A képeslapok **egy oldalon** jelennek meg, oldal lapozására nincs lehetőség.
- Alapértelmezetten a képeslapok képe helyett **helykitöltő képek** jelennek meg. Ez segíti a **gyors megjelenítést**, és megadja az oldal teljes magasságát.
- A képeslap eredeti képeinek a betöltése az ún. **lazy load** technológiát alkalmazza, tehát a képek akkor kerülnek betöltésre, amikor a felhasználó az oldal alsóbb részeit megjeleníti.
A lista nézethez kapcsolódóan különböző **sorrend beállítások** érhetőek el:
- Sorrendben megjelenítés **ár alapján**. Növekvő és csökkenő sorrend.
- **Legújabb** és **legrégibb** képeslapok sorrend.
- Alapértelmezett, **népszerűség alapján** való rendezés.
#### Mobil nézet
A nézet mobil változatában az alábbi elemek jelennek meg:
- A mobil menürendszerből elérhető **kategória választó lista**.
- Az oldalon az épp **kiválasztott kategóriákba** tartózó képeslapok jelennek meg egymás alatt. A képeslaphoz **kép** és **ár** információk elérhetőek.
### POD áttekintő nézet
- A POD elemre való kattintással modal ablak jelenik meg, amiben a **képeslap oldalai** jelennek meg **áttekintő** nézetben. Ebben a nézetben a képeslap még **nem szerkeszthető**.
- A felhasználó **bezárhatja** az ablakot, ekkor a lista nézethez tér vissza, vagy **továbbléphet a szerkesztő nézetre.**
- Továbblépéssel a felhasználó **kosarába bekerül a POD** aminek a szerkesztéséhez a felhasználó bármikor visszatérhet.
#### Mobil nézet
A nézet mobil változatában az alábbi elemek jelennek meg:
- A **képeslap oldalai** egymás alatt.
- A nézetből a felhasználó visszatérhet a **kategória lista** nézethez.
### POD szerkesztő áttekintő
Ebben a nézetben a felhasználó megkezdte a **POD képeslap testreszabását**. Az áttekintő nézetben a képeslapok elnevezett oldalait látja egymás mellett (elülső, hátsó, belső oldal).
- A rendszer a képeslap oldalhoz kapcsolódóan jelzi, hogy az **szerkeszthető, vagy sem**.
- A felhasználó az oldalra kattintva modal ablakban nyitja meg a **képeslap oldal szerkesztő** felületet.
- A felhasználó a szerkesztés befejeztével továbbléphet a **kosár nézethez**.
#### Mobil nézet
A nézet mobil változatában az alábbi elemek jelennek meg:
- A **képeslap oldalai** egymás alatt.
### Képeslap oldal szerkesztő
Ebben a nézetben a felhasználó az **áttekintő nézetben kiválasztott** képeslap oldalt szerkesztheti. A szerkesztést követően a felhasználó a **POD szerkesztő áttekintő** nézethez léphet vissza.
- A **soronként szerkeszthető** típusú szövegre való kattintáskor a szöveg sor mellet **kis modal ablak** jelenik meg, amelyben a felhasználó beállíthatja a **sor stílusát** a kiválasztott betűtípus adta kereteken belül. A soronként szerkeszthető szöveges mező esetében a sor **dimenziói nem változnak** a szerkesztés során és a szerkesztett **szöveg túlfut** a mező határain. Túlfutás esetén a rendszer figyelmezteti a felhasználót.
- A **bekezdés szerkesztő** típus esetében a fő eltérés a **soronként szerkeszthető** típushoz képest, hogy a felhasználó által megadott szöveget a rendszer automatikusan **több sorba töri**, a szöveg **nem fut túl** a mező dimenzióin. Ha a szöveg mennyisége eléri a rendelkezésre álló maximum helyet, a rendszer **letiltja a további szövegbevitelt**.
- Mindkét szerkesztési típus esetén az alábbi beállításokra ad lehetőséget a rendszer:
- **Betű család**, legördülő listából választható
- Google Fonts betűtípusok
- TTF betűtípusok
- **Betűszín**, listából választható, 50 szín
- A szöveg **visszaállítása az eredeti állapotra**.
- Mindkét szerkesztési felületen a rendszer az alábbi **szerkesztési hibákra figyelmeztet**:
- A szöveg az eredetileg beállított maradt, tehát **nem lett személyre szabva**.
- A szöveg bármelyik dimenzióban **kilóg** a rendelkezésre álló helyről.
- A háttér és a kiválasztott betűszín **kontrasztjában nem eléggé eltérő**.
#### Mobil nézet
A szerkesztő felület mobil változata **korlátozott szerkesztési lehetőségeket** tesz lehetővé a felhasználók számára. A szerkesztési áttekintő nézetben a képre kattintva a képeslap oldalának **szöveges tartalma** jelenik meg a mobil billentyűzet felett, amely **kizárólagosan szerkeszthető**. A mobil nézetben a betű családja, színe és mérete nem változtatható a platform korlátaiból adódóan. A szöveg szerkesztését követően a felhasználó visszatérhet a **szerkesztés áttekintő nézetéhez**, a felhasználó meg tudja tekinteni a szerkesztés eredményét.
### Kosár
A felhasználó lista nézetben áttekintheti és kezelheti a kosárba rakott POD elemeket.
- Kattintásra kinagyíthatja a kész képet (modal)
- Törölhet a listából tételeket.
- **Visszatérhet** az előző oldalra.
- Megtekintheti a vásárlandó **tételek összértékét**.
- **Továbbléphet** a vásárlás folyamatában.
A felhasználó több módon érkezhet erre a felületre:
- Egy képeslap megszerkesztése után, ha nem kíván újabb tételeket vásárolni, választhatja a megrendelés leadását és ekkor a Kosár nézetre érkezik.
- Ha a vásárlás folytatását választotta, akkor az oldalon elhelyezett minialkalmazáson keresztül bármikor választhatja a megrendelés leadását és ekkor is a Kosár nézetre érkezik.
A kosár nézet egyszerűsített formájában az **oldal bal vagy jobb szélén** is megjelenhet a vásárlás folyamát, folyamatosan tájékoztatva a felhasználót az aktuális tételekről.
#### Mobil nézet
A mobil nézetben a lista nézethez hasonlóan a képeslapok egymás alatt jelennek meg. A nézet tetején a kosár összértéke látható. A nézet a mobil menürendszerből közvetlenül elérhető.
### Szállítási adatok, fizetési mód
A felhasználó rögzítette a megrendelendő tételeket, majd ebben a nézetben pontosíthatja a megrendelés adatait. A felhasználó leadhatja a megrendelését **regisztráció nélkül** is.
- Bejelentkezhet.
- Regisztálhat.
- A felhasználónév és jelszó megadása helyben történik a szállítási adatok felett megjelenő mezőkben.
- A felhasználó létrehozása a továbblépéssel párhuzamban történik, nem töri meg a vásárlás folyamatát.
- A regisztrációt követően visszaigazoló e-mail kerül kiküldésre, ami a vásárlás folyamatát nem befolyásolja.
- Ha be van jelentkezve.
- Kiválaszthatja egy listából az eddig használt postázási adatokat.
- Kiválaszthatja egy listából az eddig használt számlázási adatokat.
- Megadhatja a postázási adatokat.
- Megadhatja a számlázási adatokat (ha eltér a postázási adatoktól).
- Továbbléphet a fizetési oldalra.
#### Mobil nézet
Ennek a nézetnek a mobil változata több részre tagolódik. Ha a felhasználó be van jelentkezve akkor rögtön a harmadik nézet jelenik meg.
1. A nézet megkérdezi a felhasználótól, hogy be kíván-e jelentkezni, regisztrációt indít vagy anonim módon folytatja a vásárlást.
2. Ha a bejelentkezést választja, akkor a bejelentkező felületre kerül, majd autentikáció után a 4-es felületre kerül.
3. Ha regisztrál, akkor a folyamatot követően a 4-es felületre kerül.
3. A felhasználó kiválaszthat egyet az elmentett postázási címek közül.
4. A rendszer 3 egymás alatti űrlapon az alábbi adatokat kéri be. (Bejelentkezéstől függően egyes adatok ki lehetnek töltve)
- Postázási cím
- Számlázási cím
### Fizetés
A felhasználó a tételek rögzítése és a szállítási adatok megadása után kifizetheti a megrendelt termékeket.
- Fizethet **bankkártya** segítségével. A bankkártyás fizetés indítását követően a felhasználót a rendszer a közreműködő **bank fizetési felületére** irányítja. A fizetést követően a felhasználó visszakerül a cardex oldalára ahol a sikerességtől függő üzenetet láthat.
- A megrendelés az adatbázisba kerül és az adminisztrációs felületen keresztül kezelhető.
- A felhasználó továbbá PayPal hozzáféréssel is fizethet. A fizetési folyamat elindítása után a felhasználó a **PayPal** fizetési oldalára kerül, ahol bejelentkezhet és a fizetést lebonyolíthatja.
A fizetést követően a felhasználó a rendelt tételek listáját tartalmazó és a **rendelést megerősítő e-mailt** kap. A **rendszer üzemeltetője** ugyancsak **e-mail értesítést** kap a megrendelés beérkezéséről.
Ha a felhasználó a rendelés során felhasználói fiókot hozott létre, akkor a **Felhasználó modulon** keresztül tudja követni a megrendelésének adatait. Az oldalt, ahol az **adott megrendelését** közvetlenül módosíthatja, az e-mail értesítőn keresztül is megkapja.
### Nyomdakész anyag generálása
A rendszer a felhasználó áltat megszerkesztett képeslapot elkészíti és eltölthetővé teszi **nyomdakész formában** az alábbi paraméterekkel:
- Raszterizált PDF
- 300dpi felbontás
- CMYK színskála
- Kilövések (további egyeztetést igényel)
A nyomdakész anyag a POD modul adminisztrációs felületén **manuálisan letölthető**.
### Whitelabel POD
A modul ezen nézete egy speciális **stílusfájlok nélküli lista nézet**. A stílusfájlok és a megjelenést befolyásoló kódrészletek az idegen rendszerbe való integráláskor, egyedileg kerülnek megszerkesztésre. A modul az alábbi konfigurálható elemekben tér el a hagyományos működéstől:
- Egyedi stílusfájlt használ.
- Meghatározott keretek között alkalmazkodik a befogadó rendszer szélességéhez.
- A rendelések rekordjához bekerül a bolt azonosítója.
# Integráció
A modul **jQuery**, **Bootstrap**, **Backbone.js** és **Backbone.Marionette** keretrendszerek segítségével **HTML**, **JavaScript** és **CSS** nyelveken kerül kivitelezésre. Önmagában nem futtatható, hanem a projekt egy **Gulp** script segítségével készíti el a futtatható verziót (**Handlebars** előfordítás, **LESS** előfordítás, **Browserify** futtatása).
A modul felhasználói felülete a nemzetközi szabványoknak megfelelően az alábbi böngészőtípusokkal kompatibilis:
- Chrome, Firefox, Internet Explorer **utólsó és az azt megelőző** verzió.
- Minden böngésző, amely **nagyobb mint 5%** piaci részesedéssel bír.
A modul vezérlése a $(document) elem eseménykezelőjén keresztül megvalósítható.
## Névtér
A modul a globális névtérbe változót nem regisztrál.
## Belső függőségek
- lib/auth
- lib/email
- lib/print
## 3rd party függőségek
- ^2.1.4 - jQuery
- ^3.3.4 - Bootstrap
- ^1.1.2 - Backbone.js
- ^2.4.1 - Backbone.Marionette
## Hibakezelés
- A modul által kiszolgált methódusok **promise**-okkal térnek vissza, melyek **fail()** methódusán keresztül lehetséges a hibák elkapása.
- A modul a **console.log**-ot használja részletes debug információk megjelenítésére. A modul debug azonosítója: **mod-pod**. A DEBUG környezeti változóban ezt az értéket megadva érhetjük el a debug információkat. Pl: **DEBUG=mod-pod.***
# API
A modul **közvetlenül** a következő API végpontokat használja:
**GET /tagcategories/pod** - POD kategóriák lekérése.
**GET /tagcategories/:tagId/pod/** - POD alkategóriák lekérése.
**GET /tags/:tagId/pods** - POD-ok lekérése egy kategóriából.
**GET /pods/:podId** - Egy POD lekérése.
**GET /users/:userId/addresses** - A felhasználó mentett címeinek lekérése.
**POST /users/:userId/addresses** - Új mentett cím hozzáadása.
**GET /users/:userId/pods** - Felhasználó szerkesztett POD-jainak lekérése.
**POST /podedits** - Új szerkesztett POD hozzáadása.
**GET /podedits/:podeditId** - Egy pod lekérése.
**SET /podedits/:podeditId** - POD szerkesztés elmentése
**POST /orders** - Új megrendelés létrehozása.
**PUT /orders/:orderId** - Megrendelés módosítása.
# Adminisztráció
Adminisztrációs modulok amelyek érintik a POD modul működését:
- POD képeslapok
- POD kategóriák
- Kategóriák
- Megrendelések
- Felhasználók
## POD képeslapok listája / törlés
A modulban táblázatos lista nézetben jelennek meg a feltöltött képeslapok.
- Sorbarendezés
- Szűkítés kategóriák szerint
- Törlés
- A rendszer megerősítő kérdést tesz fel.
## POD képeslap szerkesztése / hozzáadása
- A képeslaphoz több **kép tölthető** fel, amelyek a képeslap **oldalai**.
- A képeket elég **egy méretben** feltölteni, a rendszer **automatikusan** generál belőle **nézőképeket**.
- A feltöltött oldalak **sorrendje** drag&drop módszerrel **változtatható**.
- A nyomdakész anyag generálása során a rendszer a megadott sorrendet veszi alapul.
- A képeslapok oldalai megjelölhetőek:
- Előlap
- Hátlap
- Belső lap
- A képeslapok oldalain szerkeszthető szöveges elemek helyezhetőek el.
- **"Soronként szerkeszthető"**
- A szerkeszthető felület **minden egyes sora külön szerkeszthető** a felhasználó számára. Jellemzően a képeslapok **feliratos külső oldalai**, feliratok. Ehhez a típushoz **helykitöltő szöveg** megadása kötelező.
- **"Bekezdés szerkesztő"**
- Fix betűtípussal és mérettel szerkeszthető szöveges rész. Jellemzően a képeslap **üzenet része**. Ezen típushoz a szövegbeviteli mezőt **manuálisan lehet ráhelyezni** és méretezni a képeslap layoutra.
## POD kategóriák
A kategóriák rendszere **fuzzy logikát** követ, tehát **egy termék több kategóriába is** tartozhat, illetve **egy alkategória több kategóriában** is felbukkanhat.
</xmp>
<script src="//strapdownjs.com/v/0.2/strapdown.js"></script>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment