= Domify == ER Дијаграм [[Image(er_v2.png​)]] == Податочни побарувања === Ентитети '''User – Генерален ентитет кој што дефинира корисници на апликацијата.''' - id – нумерички тип (примарен клуч) - first_name – текстуален тип (задолжителен атрибут) - last_name – текстуален тип (задолжителен атрибут) - email – текстуален тип (задолжителен атрибут) - password_hash – текстуален тип (задолжителен атрибут) - date_of_birth – датумски тип (задолжителен атрибут) - rating- нумерички тип (задолжителен атрибут) - bio - текстуален тип (опционален атрибут) '''Property – Ентитет кој ги претставува недвижнините што се нудат за изнајмување.''' - id – нумерички тип (примарен клуч) - title – текстуален тип (задолжителен атрибут) - description – текстуален тип (задолжителен атрибут) - created_at – датумски тип (задолжителен атрибут) '''Property_Type – Категорија на недвижнини (стан, куќа, деловен простор и сл.).''' - id – нумерички тип (примарен клуч) - name – текстуален тип (задолжителен атрибут) '''Property_Image – Слики поврзани со одреден имот.''' - id – нумерички тип (примарен клуч) - image – слика тип (задолжителен атрибут) '''Unit – Посебна единица/станбен простор во рамките на недвижнина.''' - id – нумерички тип (примарен клуч) - unit_number – текстуален тип (задолжителен атрибут) - floor – нумерички тип (задолжителен атрибут) - bedrooms – нумерички тип (задолжителен атрибут) - bathrooms – нумерички тип (задолжителен атрибут) - area_sq_m – нумерички тип (задолжителен атрибут) - rent_amount – нумерички тип (опционален атрибут) '''Unit_Image - Слики поврзани со одредена недвижнина.''' - id – нумерички тип (примарен клуч) - image – слика тип (задолжителен атрибут) '''Listing – Оглас за достапност на одредена единица.''' - id – нумерички тип (примарен клуч) - title - текстуален тип (задолжителен атрибут) - available_from – датумски тип (задолжителен атрибут) - available_to – датумски тип (задолжителен атрибут) - status – текстуален тип (достапно, изнајмено итн.) (задолжителен атрибут) - description – текстуален тип (опционален атрибут) '''Lease – Договор за изнајмување помеѓу Изнајмувач и Издавач.''' - id – нумерички тип (примарен клуч) - start_date – датумски тип (задолжителен атрибут) - end_date – датумски тип (задолжителен атрибут) - rent_amount – нумерички тип (задолжителен атрибут) - deposit_amount – нумерички тип (задолжителен атрибут) '''Payment – Информации за уплатите поврзани со договорот за кирија.''' - id – нумерички тип (примарен клуч) - amount – нумерички тип (задолжителен атрибут) - status – текстуален тип (на пример: успешно, неуспешно) (задолжителен атрибут) - payment_date – датумски тип (задолжителен атрибут) '''Payment_Method – Начин на плаќање (картичка, трансакција, готово).''' - id – нумерички тип (примарен клуч) - name – текстуален тип (задолжителен атрибут) '''Tenant_Profile – Профил на изнајмувачот. Произлгегува од User.''' - id – нумерички тип (примарен клуч) - first_name – текстуален тип (задолжителен атрибут) - last_name – текстуален тип (задолжителен атрибут) - email – текстуален тип (задолжителен атрибут) - password_hash – текстуален тип (задолжителен атрибут) - date_of_birth – датумски тип (задолжителен атрибут) - rating – нумерички тип (задолжителен атрибут) - bio – текстуален тип (опционален атрибут) '''Landlord_Profile – Профил на сопственикот. Произлгегува од User.''' - id – нумерички тип (примарен клуч) - first_name – текстуален тип (задолжителен атрибут) - last_name – текстуален тип (задолжителен атрибут) - email – текстуален тип (задолжителен атрибут) - password_hash – текстуален тип (задолжителен атрибут) - date_of_birth – датумски тип (задолжителен атрибут) - rating – нумерички тип (задолжителен атрибут) - bio – текстуален тип (опционален атрибут) - managed_properties_count – нумерички тип (задолжителен атрибут) - is_agent - булова вредност (задолжителен атрибут) '''Service_Request – Барање за сервис или поправка од страна на изнајмувачот.''' - id – нумерички тип (примарен клуч) - description – текстуален тип (задолжителен атрибут) - request_date – датумски тип (задолжителен атрибут) - status – текстуален тип (задолжителен атрибут) '''Service_Category – Категорија на услуги за сервисни барања (електрика, водовод и сл.).''' - id – нумерички тип (примарен клуч) - name – текстуален тип (задолжителен атрибут) '''Maintenance_Log– Евиденција за извршени сервисни активности.''' - id – нумерички тип (примарен клуч) - description – текстуален тип (задолжителен атрибут) - maintenance_date – датумски тип (задолжителен атрибут) '''Inspection – Инспекција на единица за време или по завршување на договор.''' - id – нумерички тип (примарен клуч) - inspection_date – датумски тип (задолжителен атрибут) - notes – текстуален тип (задолжителен атрибут) '''Document – Датотеки поврзани со договори или кориснички профили.''' - id – нумерички тип (примарен клуч) - file_type – текстуален тип (PDF, JPG и сл.) (задолжителен атрибут) - file_url – текстуален тип (задолжителен атрибут) - uploaded_at – датумски тип (задолжителен атрибут) '''Address –Податоци за локација на корисници и недвижнини.''' - id – нумерички тип (примарен клуч) - street – текстуален тип (задолжителен атрибут) - city – текстуален тип (задолжителен атрибут) - municipality - текстуален тип (задолжителен атрибут) - number– текстуален тип (задолжителен атрибут) - country – текстуален тип (задолжителен атрибут) '''Message - Порака помеѓу сопствникот и изнајмувачот за одредено изнајмување.''' - id - нумерички тип (примарен клуч) - sent_at - датум тип(задолжителен атрибут) - content - текстуален тип(задолжителен атрибут) === Релации - '''lives'''– 1:N релација помеѓу Address и User, каде што една адреса може да биде споделувана од повеќе корисници, а секој корисник мора да има една адреса - '''owned_by''' – 1:N релација помеѓу User и Property, каде што секој сопственик (корисник) може да има повеќе недвижнини, а секоја недвижнина мора да припаѓа на еден сопственик (целосно учество од страна на Property). - '''is_type''' – 1:N релација помеѓу Property_Type и Property, каде што секоја недвижнина има еден тип, а еден тип може да се користи за повеќе недвижнини (целосно учество од страна на Property). - '''located''' – 1:1 релација помеѓу Address и Property, каде што секоја недвижнина има локација (адреса), а една адреса може да се користи за една недвижнина. - '''comprised_of''' – 1:N релација помеѓу Property и Unit, каде што секоја недвижнина може да има повеќе единици, а секоја единица мора да припаѓа на една недвижнина (целосно учество од двата ентитета). - '''listed''' – 1:N релација помеѓу Unit и Listing, каде што секоја единица може да има повеќе огласи во различен период, а секој оглас мора да биде поврзан со една единица (целосно учество од страна на Listing). - '''image''' – 1:N релација помеѓу Property и Property_Image, каде што еден имот може да има повеќе слики, а секоја слика мора да припаѓа на еден имот (целосно учество од страна на Property_Image). - '''image_of''' – 1:N релација помеѓу Unit и Unit_Image, каде што една недвижнина може да има повеќе слики, а секоја слика мора да припаѓа на една недвижнина (целосно учество од страна на Unit_Image). - '''listing_is_for_lease''' - 1:1 релација помеѓу Listing и Lease, каде што едно изнајмување може да биде дел од едно огласување, а едно огласување се однесува за едно изнајмување (целосно учество од Lease). - '''tenant''' – 1:N релација помеѓу Tenant_Profile и Lease, каде што еден изнајмувач може да има повеќе изнајмувања, а секое изнајмување мора да припаѓа на еден изнајмувач(целосно учество од страна на Lease). - '''landlord''' – 1:N релација помеѓу Landlord_Profile и Lease, каде што секое изнајмување мора да има еден сопственик , a еден сопственик може да биде дел од повеќе изнајмувања (целосно учество од страна на Lease). - '''payment_is_for_lease''' – 1:N релација помеѓу Lease и Payment, каде што секое изнајмување може да има повеќе наплаќања, а секое плаќање мора да се однесува на некој договор (целосно учество од Payment). - '''refers_to''' – 1:N релација помеѓу Payment_Method и Payment, каде што секое плаќање мора да користи одреден начин на плаќање, а еден начин на плаќање може да се користи од повеќе плаќања (целосно учество од Payment). - '''servicerequest_is_for_lease''' – 1:N релација помеѓу Lease и Service_Request, каде што едно изнајмување може да има повеќе сервисни барања, а секое барање мора да биде поврзано со едно изнајмување. - '''type''' – 1:N релација помеѓу Service_Category и Service_Request, каде што секое сервисно барање мора да има категорија, а една категорија може да ја имаат повеќе сервисни барања (целосно учество од страна на Service_Request). - '''maintenancelog _for_ servicerequest''' – 1:N релација помеѓу Service_Request и Maintenance_Log, каде што едно барање може да има повеќе записи за поправки, а секој запис мора да биде поврзан со едно барање (целосно учество од Maintenance_Log). - '''inspection _for_ lease''' - 1:N релација помеѓу Lease и Inspection, каде што инспекцијата се врши во рамки на некоe изнајмување, а за едно изнајмување може да има повеќе инспекции. - '''document _refers_to_user'''– 1:N релација помеѓу User и Document, каде што корисник може да има повеќе документи, а секој документ мора да биде поврзан со еден корисник. - '''document _is _for_lease''' – 1:N релација помеѓу Lease и Document, каде што едно изнајмување може да има повеќе документи, а секој документ мора да биде поврзан со еден договор. - '''user_from_message''' - 1:N релација помеѓѕ User и Message, каде што е еден корисник може да испрати повеќе пораки, а секоја порака е испратена од еден корисник (целосно учество од Message). - '''user_to_message''' - 1:N релација помеѓѕ User и Message, каде што е еден корисник може да добие повеќе пораки, а секоја порака е пратена до еден корисник (целосно учество од Message). - '''about''' - 1:N релација помеѓу User и Leasing, каде што едно изнајмување може да биде дел од повеќе пораки, а една порака се однесува за едно изнајмување (целосно учество од Message). - '''interested''' - M:N релација меѓу Listing и Tenant_Profile, каде за еден оглас може да се заинтересирани повеќе изнајмувачки профили, а исто така изнајмувачките профили можат да бидат заинтересирани за повеќе огласи. == Историјат [[html(Верзија 1 - Почетна верзија)]] [[html(Верзија 2 - Промена во оваа верзија e тоа што релацијата is_for помеѓу Lease и Unit е отстранета и е додадена како 1:1 релација помеѓу Lease и Listing, како и додаден Unit_Image за Unit)]]