nvbach91 / 4IZ278-2021-2022-LS

4IZ278-2021-2022-LS
MIT License
0 stars 3 forks source link

shts00-sp #110

Open shtolts opened 2 years ago

shtolts commented 2 years ago

ScienceCon

Aplikace podporuje založení, správu a prodej lístků na vědecké a zájmové konference.

Funkcionalita

Nepřihlášený uživatel bude mít možnost eventy pouze prohlížet a zobrazovat detaily určité konference. Po kliknutí na tlačítko Koupit bude vyzván k přihlášení/registraci. Vzhledem k povaze pořádaných událostí, nepředpokládá se, že budou existovat různé kategorie vstupného. Po úspěšném nákupu se uživateli zobrazí hláška a odkaz na seznam všech jeho objednávek. Uživatel nemá možnost vkládat do košíku lístky na různé konference. Musí nejdřív dokončit nákup pro jednu konferenci. Přihlášený uživatel bude mít možnost lístky zakoupit, zobrazit historii objednávek a upravovat svůj profil. Admin má možnost zakládat nové a upravovat již existující konference. Admin nespravuje účty uživatelů. Také systém nepodporuje smazání události, lze pouze pozastavit prodej vstupenek, bude tak zpětně dohledatelná, navíc nemusíme v databázi řešit existenci prodaných lístků na událost, kterou chceme odmazat :-)

Databáze

Struktura databáze je reprezentovaná entitami konference (event); kategorie, pod kterou konference spadá, přičemž jedna konference může spadat pod více kategorií (category). Vztah N:M na fyzické úrovni vyřešen prostřednictvím pomocné tabulky category_to_event. Pořadatel (organizer) může pořádat víc konferencí, nicméně jedna konference může patřit pouze jednomu pořadateli. Každá událost má také místo konání (venue), evidujeme také maximální počet míst k sezení, které lokace nabízí. Počet prodávaných vstupenek nemůže být větší než maximální počet míst k sezení, může ale být menší. Kapacitu konference nastavuje admin při založení či editace záznamu, v tuto chvíli se má provádět kontrola na nepřekročení maximálního počtu míst. Objednávka (order) je realizována prostřednictvím jednotlivých položek (order_item).

Konceptuální model

conference-2022-04-24_19-14

Logický model

conference_physical-2022-04-24_20-06

Wireframe

  1. Přihlášení prihlaseni
  2. Registrace registrace
  3. Hlavní stránka hlavniStranka
  4. Detail události podrobnosti
  5. Dokončený nákup paymentOK
  6. Historie objednávek historieObjednavek
  7. Admin panel adminPanel
  8. Editace záznamu editPage

    Tech stack

    Apache web server HTML, CSS, JS + Bootstrap PHP, MySQL databáze

nvbach91 commented 2 years ago
shtolts commented 2 years ago
  • jakym zpusobem jsou tabulky ticket a order_item spojene? nechybi tam odkaz na konkretni vstupenku?

v tabulce ticket je cizí klíč odkazující na order_item. ve vstupence jsou uvedeny řada a sedadlo, tudíž je vstupenka unikátní pro danou konfenerci (není potřeba evidovat množství vstupenek v order_item). šlo by v tomto případě asi udělat vůbec bez tabulky order_item, ale dala jsem ji pro případ změny cen vstupenek, umožňuje tak zachovat ceny již prodaných. ordItem

  • k cemu je tabulka category_to_event? nestaci mit category_id v tabulce event?

pomocí tabulky category_to_event je realizován vztah N:M. mit category_id v tabulce event by stačilo jen v případě, pokud by pro jednu konferenci bylo možné nastavit pouze jednu kategorii.

  • user nema kontaktni udaje?

řekla bych, že email a heslo stačí.. přes email lze obnovit heslo, zaslat vstupenky, a nic dalšího není potřeba. přidám ještě jméno

nvbach91 commented 2 years ago

https://github.com/nvbach91/4IZ278-2021-2022-LS/pull/125