Open MrLogEN opened 1 month ago
Aplikace je online knihkupectvím. E-shop si mohou procházet jak registrovaní tak neregistrovaní uživatelé. Nákupy mohou realizovat pouze uživatelé registrovaní a přihlášení.
E-shop spravují admini z příslušných účtů. Ti mohou upravovat sortiment obchodu a spravovat status objednávek.
Aplikace má tyto funkcionality
Main Page
Book Detail Page
Register Page
Login Page
main Page
Cart Page
Delivery Info Page
Main Page
Book Detail Page
Order Status Page
Book Update Page
Create Book Page
sequenceDiagram
actor Customer
participant Website
participant Login/Registration
participant Catalogue
participant Cart
participant Order
Customer ->> Website: eshop access
activate Website
Website ->> Login/Registration: Registers or logs in
activate Login/Registration
Login/Registration -->> Website: Begins authenticated session
deactivate Login/Registration
Website->> Catalogue: Request list of products
activate Catalogue
Catalogue -->> Website: Returns catalogue
deactivate Catalogue
Website ->> Catalogue: Choose a product
activate Catalogue
Catalogue ->> Cart: Adds product to cart
activate Cart
Catalogue -->> Website: Shows item in the cart
Website ->> Cart: Buy action
Cart ->> Order: Order creation
activate Order
Website ->> Order: User fills in information
Website ->> Order: User confirms order
Order -->> Cart: Cart is cleared
Cart -->> Catalogue: Updates the catalogue
deactivate Cart
deactivate Catalogue
Order -->> Website: Order created
deactivate Order
Website ->> Login/Registration: User logs out
activate Login/Registration
Login/Registration -->> Website: Authenticated session ended
deactivate Login/Registration
deactivate Website
Website -->> Customer: Customer leaves the website
Kategorie | Požadavek | splnění | spolehlivost | komentář |
---|---|---|---|---|
Databáze | M:N vztahy | |||
1:N vztahy | ||||
SQL joins | ||||
Integritní omezení | ||||
Testovací data | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Validace a sanitace vstupů | Formuláře | |||
Datové typy | ||||
Regulární výrazy | ||||
Serverová validace požadavků | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Psaní kódu | Potlačení warningů - nedefinované hodnoty | |||
Formátování kódu | ||||
DRY princip - minimalizace opakování kódu | ||||
SRP princip - single responsibility | ||||
Pojmenování proměnných | ||||
Konzistence stylu psaní kódu | ||||
Verzování kódu (Git) | ||||
HTML5 validní + sémantické značky | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Objektové programování | Zapouzdření | |||
Dědičnost | ||||
Abstrakce | ||||
Rozhraní | ||||
Polymorfismus | ||||
Magické metody | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Připojení k databázi | PDO | |||
Prepared statement | ||||
SQL injection | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Performance | Stránkování | |||
Indexace databázových tabulek | ||||
Filtrace a organizování zdrojů | ||||
Cache (mezipaměť) | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Autentifikace | Cookies | |||
Session | ||||
Lokální strategie pro registraci a přihlášení | ||||
OAuth, access token, login | ||||
Ukládánní hesel | ||||
Uživatelská oprávnění | ||||
Uživatelské role | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Datum a čas | Časové pásmo | |||
Formátování časových hodnot | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Návrhové vzory | Model | |||
View | ||||
Controller | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Bezpečnost | XSS | |||
CSRF | ||||
SQL injection | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
API | CRUD operace | |||
HTTP metody | ||||
Sémantické pojmenování zdrojů | ||||
Verzování | ||||
Idempotence | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Provoz a údržba | Sledovatelnost a logování | |||
SEO URL | ||||
Víceuživatelský přístup k datům | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Funkcionality | Generování souborů PDF | |||
Posílání e-mailů | ||||
Oddělení ddministrační a uživatelské části | ||||
---------------------------- | ------------------------------------------------- | --------- | -------------- | ---------- |
Testování | Testovací scénáře pro manuální testování | |||
Dostupnost aplikace na internetu |
BookBookGo
Popis aplikace
Aplikace je online knihkupectvím. E-shop si mohou procházet jak registrovaní tak neregistrovaní uživatelé. Nákupy mohou realizovat pouze uživatelé registrovaní a přihlášení.
E-shop spravují admini z příslušných účtů. Ti mohou upravovat sortiment obchodu a spravovat status objednávek.
Popis funkcionalit
Aplikace má tyto funkcionality
Usecase diagram
Wireframy
Anonymous User
Main Page
Book Detail Page
Register Page
Login Page
Logged In User
main Page
Cart Page
Delivery Info Page
Admin User
Main Page
Book Detail Page
Order Status Page
Book Update Page
Create Book Page
Architektura
Databáze
Konceptuální model
Fyzický model
Sekvenční diagram
Checklist