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