nvbach91 / 4IZ278-2023-2024-LS

4IZ278-2023-2024-LS
MIT License
3 stars 0 forks source link

lukt03-sp #162

Open terrymeow opened 3 months ago

terrymeow commented 3 months ago

Semestrální práce - Komunitní hlídání koček

Stránka má za cíl propojit zájemce o hlídání koček s těmi, co zrovna hlídání svých mazlíčků potřebují. Narozdíl od jiných webů zde služby nenabízí firmy, ale jednotlivci v okolí se zájmem a zkušenostmi s péčí o zvířata.

Popis funkcionalit

  1. Přihlášení uživatele - možnost přihlásit se do aplikace, pro přistup k svému profilu a interakci s funkcemi aplikace.
  2. Registrace uživatele - možnost zaregistrovat se do aplikace pro nové uživatele.
  3. Správa uživatelského profilu - změna osobních údajů nebo hesla.
  4. Přidání kočky - majitelé koček mají možnost přidat své kočky do profilu s informacemi např. o věku, povaze a omezeních. Ke kočce je možné přiložit fotografie.
  5. Úprava údajů o kočkách - aby byly údaje vždy aktuální.
  6. Procházení hlídačů - prohlížení dostupných hlídačů.
  7. Nastavení dostupnosti hlídače - hlídač si může v profilu nastavit které dny a ve které časy je dostupný.
  8. Vložení nového hlídání - majitel podá žádost, hlídač potvrdí.
  9. Smazání termínu hlídání - může majitel i hlídač do 24 hodin před začátkem.
  10. Hodnocení - po proběhlém hlídání jsou majitel a hlídač vyzváni k vzájemnému hodnocení.
  11. Správcovské rozhraní - mazání nevhodných profilů nebo jejich částí (majitelé, hlídači i kočky) a hodnocení, úprava rezervací.

Usecase diagram

usecase_diagram

Výčet stránek

Autentizace:

Vkládání obsahu:

Procházení obsahu:

Správce:

Návrh databáze

db_diagram

Sekvenční diagram

Z pohledu majitele

  1. Majitel kočky/koček se zaregistruje.
  2. Majitel se přihlásí a vyplní svůj profil.
  3. Majitel vyplní informace o svých kočkách.
  4. Majitel plánuje jet na dovolenou. Přihlásí se na web, vybere si hlídače podle hodnocení a časové i geografické dostupnosti. V kalendáři vybere termín a podá žádost o hlídání.
  5. Hlídání je potvrzeno nebo zamítnuto hlídačem. Další komunikace probíhá e-mailem.
  6. Probíhá hlídání koček
  7. Majitel se vrací z dovolené. Po skončení termínu hlídání je vyzván k ohodnocení hlídače.
  8. Napíše hodnocení hlídače.
  9. Poté, co hodnocení napíše i hlídač, se obě zveřejní na webu.

Z pohledu hlídače

  1. Hlídač se zaregistruje.
  2. Hlídač se přihlásí a vyplní svůj profil.
  3. Hlídač navíc vyplní podrobnější informace o dostupnosti.
  4. Hlídači přijde e-mail o zájmu majitele, v systému nabídku potvrdí nebo odmítne. Další komunikace probíhá e-mailem.
  5. Probíhá hlídání koček
  6. Po skončení hlídání je vyzván k ohodnocení majitele.
  7. Napíše hodnocení majitele.
  8. Poté, co hodnocení napíše i majitel, se obě zveřejní na webu.

Architektura

Checklist

Kategorie Požadavek splnění spolehlivost komentář
Databáze M:N vztahy x
1:N vztahy x
SQL joins x
Integritní omezení x
Testovací data
---------------------------- ------------------------------------------------- --------- -------------- ----------
Validace a sanitace vstupů Formuláře x
Datové typy x
Regulární výrazy x
Serverová validace požadavků x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Psaní kódu Potlačení warningů - nedefinované hodnoty x
Formátování kódu x
DRY princip - minimalizace opakování kódu x
SRP princip - single responsibility x
Pojmenování proměnných x
Konzistence stylu psaní kódu x
Verzování kódu (Git) x
HTML5 validní + sémantické značky x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Objektové programování Zapouzdření x
Dědičnost x
Abstrakce x
Rozhraní x
Polymorfismus x
Magické metody x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Připojení k databázi PDO x
Prepared statement x
SQL injection x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Performance Stránkování x
Indexace databázových tabulek
Filtrace a organizování zdrojů x
Cache (mezipaměť)
---------------------------- ------------------------------------------------- --------- -------------- ----------
Autentifikace Cookies x
Session x
Lokální strategie pro registraci a přihlášení x
OAuth, access token, login
Ukládání hesel x
Uživatelská oprávnění x
Uživatelské role x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Datum a čas Časové pásmo x
Formátování časových hodnot x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Návrhové vzory Model x
View x
Controller x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Bezpečnost XSS x
CSRF x
SQL injection x
---------------------------- ------------------------------------------------- --------- -------------- ----------
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 x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Funkcionality Generování souborů PDF
Posílání e-mailů x
Oddělení ddministrační a uživatelské části x
---------------------------- ------------------------------------------------- --------- -------------- ----------
Testování Testovací scénáře pro manuální testování
Dostupnost aplikace na internetu x
nvbach91 commented 3 months ago
terrymeow commented 3 months ago
nvbach91 commented 2 months ago

business logika nevim jestli dobra, v tomto stavu ma navrzeny system hodne problemu, ktere by branily jeho rustu, argument "komplexni rezervacni system" nedava smysl, pokud tu domluvu hlidani nechate resit jen pres email tak tohle vase reseni existovat by nemusela, jde jenom o to aby se ta uskutecnena hlidani nekde ukladala kvuli evidenci, duvere uzivatelu a pripadnemu reseni sporu mezi uzivateli, to by obsahovalo informace o tom kolik, kdy, koho, a jake zvire bylo hlidano kym a pak na to navazat ty recenze, informace o tom kolik a kdy hlidani udelal hlidac by mela byt jednim z nejvetsich pridanych hodnot vasi prace

terrymeow commented 2 months ago

@nvbach91 Do zadání jsem přidala správu rezervací, návazná komunikace bude i nadále probíhat skrze e-maily.