= Верзија 1 == ER дијаграм [[Image(ERmodel_v1.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 - датум (заолжителен атрибут) * author_id - нумерички тип (заолжителен атрибут) 9. **Images** - ентитет кој претставува слики за одреден артист * id - нумерички тип (примарен клуч) * 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 - текстуален тип (задолжителен атрибут) * author_id - нумерички тип (заолжителен атрибут) * created_at - датум (заолжителен атрибут) * updated_at - датум (опционален атрибут) 14. **Transactions** - ентитет кој претставува трансакција * id - нумерички тип (примарен клуч) * user_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:M слаба релација меѓу Artists и Manager_Invites. Оваа релацја ги означува сите покани кои артистите ги креирале до одередени менаџери преку Е-Мејл адреси. * is - 1:1 релација помеѓу Artists и Artist_Types која означува каков тип на артист е артистот. * sings - M:N релација помеѓу Artists и Genres која означува кои жанрови ги пејат артистите. * artists_has_reviews - 1:N слаба релација помеѓу Artists и Reviews која покажува кои рецензии ги добил артистот. * artists_has_images - 1:N слаба релација помеѓу Artists и Images која означува кои слики ги има артистот на својот профил. * organizers_creates_events - 1:N слаба релација помеѓу Organizers и Events која означува настани кои ги креирал организаторот. * for - 1:M слаба релација помеѓу Events и Offers која означува кои понуди се испратени за учество на артистот/артистите за одреден настан. * requests - 1:N слаба релација помеѓу Organizers и Offers која ги означува понудите испратени од организаторот. * receives - 1:N релација помеѓу Artists и Offers која означува понуди кои артистот ги има добиено. * offers_has_comments - 1:N слаба релација помеѓу Offers и Comments која означува коментари кои се однесуваат за дадената понуда. * offers_has_transactions - 1:1 релација помеѓу Offers и Transactions која означува трансакција за одредена понуда. * events_has_event_types - 1:1 релација помеѓу Events и Event_Types која означува каков тип на настан е настанот. == Историјат 1. [/attachment/wiki/ERModel/ERmodel_v1.jpg Верзија 1] - иницијален ЕР модел