= Верзија 2 == ER дијаграм [[Image(ERmodel_v2.jpg)]] == Податочни побарувања **''Ентитети''** 1. **Users** - ентитет кој претставува унија од повеќе видови корисници * id - нумерички тип (примарен клуч) * full_name - varchar тип (задолжителен атрибут, макс. 80 карактери) * username - varchar тип (задолжителен атрибут, макс. 100 карактери) * email - varchar тип (задолжителен атрибут) * password - varchar тип (задолжителен атрибут) * created_at - датум (задолжитенел атрибут) * updated_at - датум (опционален атрибут) * deleted_at - датум (опционален атрибут) * email_verified_at - датум (опционален атрибут) * profile_picture - varchar тип (задолжителен атрибут) * last_login_at - датум (опционален атрибут) * last_login_ip - varchar тип (опционален атрибут, макс. 15 карактери) * user_agent - текстуален тип (опционален атрибут) 2. **Organizers** - ентитет кој преставува организатор * city - varchar тип (заолжителен атрибут, макс. 85 карактери) * country - varchar тип (заолжителен атрибут, макс. 56 карактери) * stripe_id - varchar тип (заолжителен атрибут) * card_brand - varchar тип (заолжителен атрибут) * card_last_four - датум (опционален атрибут, макс. 4 карактери) * trial_ends_at - датум (опционален атрибут) 3. **Artists** - ентитет кој претставува артист * short_description - текстуален тип (задолжителен атрибут) * price_per_hour - нумерички тим (задолжителен атрибут, мин. 1) * city - varchar тип (заолжителен атрибут, макс. 85 карактери) * country - varchar тип (заолжителен атрибут, макс. 56 карактери) * instagram_link - varchar тип (заолжителен атрибут) * soundcloud_link - varchar тип (задолжителен атрибут) * facebook_link - varchar тип (заолжителен атрибут) * apple_music_link - varchar тип (заолжителен атрибут) * youtube_link - varchar тип (заолжителен атрибут) * spotify_link - varchar тип (заолжителен атрибут) * birth_date - датум (задолжителен атрибут) 4. **Managers** - ентитет кој претставува менаџер на одреден(и) артист(и) 5. **Manager_Invites** - ентитет кој претставува поканет менаџер од страна на одреден артист * id - нумерички тип (примарен клуч) * email - varchar тип (задолжителен атрибут) * name - varchar тип (задолжителен атрибут, макс. 80 карактери) * invitation_token - varchar тип (задолжителен атрибут) * created_at - датум (заолжителен атрибут) * updated_at - датум (опционален атрибут) * registered_at - датум (опционален атрибут) 6. **Artist_Types** - ентитет кој претставува типови на артисти (соло, дуо, бенд, итн.) * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) 7. **Genres** - ентитет кој претставува жанрови на музика * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) 8. **Images** - ентитет кој претставува слики за одреден артист * path - varchar тип (задолжителен атрибут) * created_at - датум (задолжителен атрибут) * updated_at - датум (опционален атрибут) 9. **Reviews** - ентитет кој претставува рецензии за одреден артист * id - нумерички тип (композитен клуч) * rating - нумерички тип (задолжителен атрибут) * content - текстуален тип (задолжителен атрибут) * created_at - датум (заолжителен атрибут) 10. **Comments** - ентитет кој претставува коментар за одредена понуда * id - нумерички тип (примарен клуч) * content - текстуален тип (задолжителен атрибут) * created_at - датум (заолжителен атрибут) * updated_at - датум (опционален атрибут) * author_id - нумерички тип (задолжителен атрибут) 11. **Offers** - ентитет кој претставува понуда (која се испраќа до одреден артисти) * id - нумерички тип (примарен клуч) * slug - varchar тип (задолжителен атрибут, макс. 150 карактери) * created_at - датум (заолжителен атрибут) * updated_at - датум (опционален атрибут) * completed_at - датум (опционален атрибут) * status - нумерички тип (заолжителен атрибут) * price - нумерички тип (заолжителен атрибут) 12. **Transactions** - ентитет кој претставува трансакција * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) * stripe_id - varchar тип (задолжителен атрибут) * stripe_status - varchar тип (задолжителен атрибут) * stripe_plan - varchar тип (задолжителен атрибут) * quantity - нумерички тип (заолжителен атрибут) * trial_ends_at - датум (опционален атрибут) * ends_at - датум (опционален атрибут) * created_at - датум (заолжителен атрибут) * updated_at - датум (опционален атрибут) 13. **Events** - ентитет кој претстаува настани креирани од страна на организаторот * id - нумерички тип (примарен клуч) * created_at - датум (заолжителен атрибут) * updated_at - датум (опционален атрибут) * slug - varchar тип (задолжителен атрибут, макс. 150 карактери) * city - varchar тип (заолжителен атрибут, макс. 85 карактери) * country - varchar тип (заолжителен атрибут, макс. 56 карактери) * title - varchar тип (задолжителен атрибут, макс. 100 карактери) * end_time - датум (заолжителен атрибут) * start_time - датум (заолжителен атрибут) * event_date - датум (опционален атрибут) * message - текстуален тип (опционален атрибут) 14. **Event_Types** - ентитет кој претставува тип на настани * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) **''Релации''** * managers_has_manager_invites - 1:N релација помеѓу Managers и Manager_Invites која означува кои покани ги добил одреден менаџер * manages - 1:N релација помеѓу Managers и Artists каде што ќе се чуваат записи за тоа кои менаџери кои артисти ги менаџираат а со тоа може да управуваат со нивните податоци. * artists_creates_manager_invites - 1:N релација помеѓу Artists и Manager_Invites. Оваа релацја ги означува сите покани кои артистот ги креирал до одередени менаџери преку Е-Мејл адреси. * is - N:1 релација помеѓу Artists и Artist_Types која означува каков тип на артист е артистот. * sings - M:N релација помеѓу Artists и Genres која означува кои жанрови ги пејат артистите. * artists_has_images - 1:N слаба релација помеѓу Artists и Images која означува кои слики ги има артистот на својот профил. * leaves - 1:N слаба релација помеѓу Organizers и Reviews која го поврзува организаторот со рецензиите кои ги оставил. * reviews_for_artists - N:1 слаба релација помеѓу Reviews и Artists која ги означува рецензиите наменети за одреден артист. * receives - 1:N релација помеѓу Artists и Offers која ги означува понудите кои артистот ги има добиено. * belongs - N:1 релација помеѓу Comments и Offers која ги означува коментарите кои се однесуваат за дадената понуда. * offers_has_transactions - 1:N релација помеѓу Offers и Transactions која ги означува трансакциите направени во рамките на една понуда. * organizers_creates_events - 1:N релација помеѓу Organizers и Events која ги означува настаните кои ги креирал организаторот. * offers_for_events - N:1 релација помеѓу Offers и Events која ги означува понудите испратени во рамките на одреден настан. * events_has_event_types - 1:1 релација помеѓу Events и Event_Types која означува каков тип на настан е настанот. == Историјат 1. [/attachment/wiki/ERModel/ERmodel_v1.jpg Верзија 1] - иницијален ЕР модел 1. [/attachment/wiki/ERModel/ERmodel_v2.jpg Верзија 2] - ЕР модел корегиран по консултации со Професорот