== ЕР дијаграм [[Image(TravelSage(final).svg, align=center)]] === Ентитети и атрибути === * **Дестинации** – претставува основен ентитет кој ги опишува сите туристички дестинации достапни во апликацијата. * идДест (примарен клуч): Уникатен идентификатор за дестинацијата. * имеЛокација: Името на дестинацијата. * описЛокација: Детален опис на дестинацијата. * типовиМеста (повеќевредносен атрибут): Категоризација на дестинацијата (на пример, планина, плажа, град, село итн.). * препорачанаСезона (повеќевредносен атрибут): Сезони во кои е препорачливо да се посети дестинацијата. * просечнаТемп: Просечна температура за таа дестинација. * геоЛокација: Географска позиција (координати). * држава: Држава каде што се наоѓа местото. * популарност: Рангирање базирано на број на посетители или рецензии. * важниЛокации (сложен атрибут): Клучни места т.е. знаменитости што ја карактеризираат дестинацијата (на пример, музеи, паркови), кој има име и опис за соодветната локација. * **Корисници** – ентитет кој ги претставува регистрираните корисници на апликацијата. * идКорисник (примарен клуч): Уникатен идентификатор за секој корисник. * логинИме: Уникатно име за најавување. * еПошта: Електронска адреса на корисникот. * телБр : Телефонски број на корисникот. * датумРаѓање: Датум на раѓање на корисникот. * **Стандард** – ентитет кој е дијункнтно разложување со тотално учество на ентитетот Корисници што значи дека корисникот мора да е еден од двата понудени ентитети. Овој ентитет се однесува на корисниците кои ја користат апликацијата вообичаено, без никакви дополнителни претплатувања. * **Премиум** – ентитет кој е дијункнтно разложување со тотално учество на ентитетот Корисници што значи дека корисникот мора да е еден од двата понудени ентитети. * датумКреирање: Датум на креирање. * попуст: соодветен процентуален износ за попуст за премиум корисници. * **Рецензии** – ентитет кој ги опфаќа рецензиите што корисниците ги оставаат за дестинациите. * идРецензија (примарен клуч): Уникатен идентификатор за рецензијата. * корисничкоИме: Корисник што ја оставил рецензијата. * квалитет: Оцена во форма на број или ѕвезди. * забелешка: Текстуален коментар. * датумРецензија: Датум на објавување. * брГласови: Број на корисници што оставиле рецензија. * **Метеролошка состојба** – ентитет што ги следи актуелните временски услови за секоја дестинација. * идМетео (примарен клуч): Уникатен идентификатор. * моментТемп: Моментална температура. * состојбаВреме (повеќевредносен атрибут): Опис на временските услови (сончево, дождливо). * предупредувања (повеќевредносен атрибут): Можни временски предупредувања (на пример, бура и сл.). * влажност: Процент на влажност. * ветер: Брзина на ветерот. * месец: Месец за мерењето. * **Пакети** – ентитет за всушност за туристички пакети кои содржат повеќе активности или услуги. * идПакет (примарен клуч): Уникатен идентификатор за пакетот. * имеПакет: Име на пакетот. * цена: Вкупна цена на пакетот. * времетраење (сложен атрибут): Временски период (почеток и крај). * **Активности** – ентитет за индивидуалните активности достапни на дестинациите. * идАктивност (примарен клуч): Уникатен идентификатор. * имеАктивност: Име на активноста. * информации: Детален опис. * категорија (повеќевредносен атрибут): Категоризација (на пример, спортска, културна). * износ: Цена за учество. * **Резервации** - ентитет за резервациите што ги прават корисниците. * идРезервација (примарен клуч): Уникатен идентификатор. * временскаТочка: Датум на резервацијата. * вкупнаЦена: Финална цена. * **Преференции** – ентитет кој ги прикажува деталните преференции на корисниците во апликацијата. Овозможува прилагодување на содржината според интересите на секој корисник. * идПреференца (примарен клуч): Уникатен идентификатор за секоја преференција. * типПреференца (повеќевредносен атрибут): Список на различни типови преференции, како активности, дестинации или временски услови. * приоритет: Важност на секоја преференца. * **Настани** - ентитет кој опфаќа информации за сите настани што се одржуваат во достапните дестинации. Ги збогатува податоците со динамични и временски специфични активности. * идНастан (примарен клуч): Уникатен идентификатор за секој настан. * назив: Назив на настанот. * видови (повеќевредносен атрибут): Категории или видови на настани, како културни, спортски или музички. * почетенДатум: Датум кога настанот започнува. * краенДатум: Датум кога настанот завршува. * детали: Детален опис на настанот. * **Тагови** - ентитет кој овозможува категоризација на дестинациите за подобро пребарување и пронаоѓање според интересите на корисниците. * идТаг (примарен клуч): Уникатен идентификатор за секој таг. * тагОзнака: Име на тагот што ја претставува категоријата. === Релации === * **Корисници ↔ Рецензии (пишува)** * Кардиналност: 1:N * Опис: Еден корисник може да остави повеќе рецензии, но секоја рецензија е поврзана со еден корисник. * **Корисници ↔ Резервации (направена)** * Кардиналност: 1:N * Опис: Еден корисник може да направи повеќе резервации, но секоја резервација е поврзана со еден корисник. * **Корисници ↔ Преференци (посочува)** * Кардиналност: 1:N * Опис: Еден корисник може да има повеќе преференции, а секоја преференца е поврзана со еден корисник. * **Дестинации ↔ Рецензии (располага)** * Кардиналност: 1:N * Опис: Една дестинација може да има повеќе рецензии од различни корисници и секоја рецензија се однесува на одредена дестинација. * **Дестинации ↔ Метеролошка Состојба (поседува)** * Кардиналност: 1:N** * Опис: Една дестинација може да има повеќе записи за временските услови во различни периоди. * **Дестинации ↔ Активности (содржи)** * Кардиналност: 1:N * Опис: Една дестинација може да содржи повеќе активности. * **Дестинации ↔ Настани (одржува)** * Кардиналност: 1:N * Опис: Една дестинација може да има повеќе настани. * **Тагови ↔ Дестинации (има)** * Кардиналност: N:M * Опис: Една дестинација може да има повеќе тагови, а секој таг може да биде поврзан со повеќе дестинации. * **Дестинации ↔ Пакети (вклучува)** * Кардиналност: 1:N * Опис: Една дестинација може да биде дел од повеќе пакети, додека секој пакет е поврзан со една дестинација. * **Пакети ↔ Активности (сеОднесува)** * Кардиналност: N:M * Опис: Еден пакет може да содржи повеќе активности, а една активност може да биде дел од повеќе пакети. * **Резервации ↔ Активности (опфаќа)** * Кардиналност: N:M * Опис: Една резервација може да вклучува повеќе активности, додека секоја активност е поврзана со повеќе резервации. * **Рецензии ↔ Резервации (може)** * Кардиналност: 1:1 * Опис: Една рецензија е поврзана со една резервација, истото и во спротивната насока. * **Метеролошка Состојба ↔ Резервации (важиЗа)** * Кардиналност: 1:N * Опис: Една временска состојба може да биде поврзана со повеќе резервации за една дестинација, но една резервација е поврзана со една временска состојба. * **Корисници ↔ Резервации ↔ Активности (препорака)** * Кардиналност: N:M:P * Опис: Корисник може да остави повеќе препораки за различни дестинации. Една дестинација може да има повеќе препораки од различни корисници. Препораките чуваат атрибути: оцена, коментар и датум.