= Domify == ER Дијаграм [[Image(ERmodel_v1 (2).png)]] == Податочни побарувања === Ентитети '''User – Генерален ентитет кој што дефинира корисници на апликацијата.''' - id – нумерички тип (примарен клуч) - first_name – текстуален тип (задолжителен атрибут) - last_name – текстуален тип (задолжителен атрибут) - email – текстуален тип (задолжителен атрибут) - password_hash – текстуален тип (задолжителен атрибут) - date_of_birth – датумски тип (задолжителен атрибут) - rating- нумерички тип (задолжителен атрибут) - bio - текстуален тип (опционален атрибут) '''Property – Ентитет кој ги претставува недвижнините што се нудат за изнајмување.''' - id – нумерички тип (примарен клуч) - title – текстуален тип (задолжителен атрибут) - description – текстуален тип (задолжителен атрибут) - created_at – датумски тип (задолжителен атрибут) '''PropertyType – Категорија на недвижнини (стан, куќа, деловен простор и сл.).''' - id – нумерички тип (примарен клуч) - name – текстуален тип (задолжителен атрибут) '''PropertyImage – Слики поврзани со одредена недвижнина.''' - id – нумерички тип (примарен клуч) - image – слика тип (задолжителен атрибут) '''Unit – Посебна единица/станбен простор во рамките на недвижнина.''' - id – нумерички тип (примарен клуч) - unit_number – текстуален тип (задолжителен атрибут) - floor – нумерички тип (задолжителен атрибут) - bedrooms – нумерички тип (задолжителен атрибут) - bathrooms – нумерички тип (задолжителен атрибут) - area_sq_m – нумерички тип (задолжителен атрибут) - rent_amount – нумерички тип (опционален атрибут) '''Listing – Оглас за достапност на одредена единица.''' - id – нумерички тип (примарен клуч) - available_from – датумски тип (задолжителен атрибут) - available_to – датумски тип (задолжителен атрибут) - status – текстуален тип (достапно, изнајмено итн.) (задолжителен атрибут) - description – текстуален тип (опционален атрибут) '''Lease – Договор за изнајмување помеѓу Изнајмувач и Издавач.''' - id – нумерички тип (примарен клуч) - start_date – датумски тип (задолжителен атрибут) - end_date – датумски тип (задолжителен атрибут) - rent_amount – нумерички тип (задолжителен атрибут) - deposit_amount – нумерички тип (задолжителен атрибут) '''Payment – Информации за уплатите поврзани со договорот за кирија.''' - id – нумерички тип (примарен клуч) - amount – нумерички тип (задолжителен атрибут) - status – текстуален тип (на пример: успешно, неуспешно) (задолжителен атрибут) - payment_date – датумски тип (задолжителен атрибут) '''PaymentMethod – Начин на плаќање (картичка, трансакција, готово).''' - id – нумерички тип (примарен клуч) - name – текстуален тип (задолжителен атрибут) '''TenantProfile – Профил на изнајмувачот. Произлгегува од User.''' - id – нумерички тип (примарен клуч) - first_name – текстуален тип (задолжителен атрибут) - last_name – текстуален тип (задолжителен атрибут) - email – текстуален тип (задолжителен атрибут) - password_hash – текстуален тип (задолжителен атрибут) - date_of_birth – датумски тип (задолжителен атрибут) - rating – нумерички тип (задолжителен атрибут) - bio – текстуален тип (опционален атрибут) '''LandlordProfile – Профил на сопственикот. Произлгегува од User.''' - id – нумерички тип (примарен клуч) - first_name – текстуален тип (задолжителен атрибут) - last_name – текстуален тип (задолжителен атрибут) - email – текстуален тип (задолжителен атрибут) - password_hash – текстуален тип (задолжителен атрибут) - date_of_birth – датумски тип (задолжителен атрибут) - rating – нумерички тип (задолжителен атрибут) - bio – текстуален тип (опционален атрибут) - managed_properties_count – нумерички тип (задолжителен атрибут) - is_agent - булова вредност (задолжителен атрибут) '''ServiceRequest – Барање за сервис или поправка од страна на изнајмувачот.''' - id – нумерички тип (примарен клуч) - description – текстуален тип (задолжителен атрибут) - request_date – датумски тип (задолжителен атрибут) - status – текстуален тип (задолжителен атрибут) '''ServiceCategory – Категорија на услуги за сервисни барања (електрика, водовод и сл.).''' - id – нумерички тип (примарен клуч) - name – текстуален тип (задолжителен атрибут) '''MaintenanceLog– Евиденција за извршени сервисни активности.''' - id – нумерички тип (примарен клуч) - description – текстуален тип (задолжителен атрибут) - maintenance_date – датумски тип (задолжителен атрибут) '''Inspection – Инспекција на единица за време или по завршување на договор.''' - id – нумерички тип (примарен клуч) - inspection_date – датумски тип (задолжителен атрибут) - notes – текстуален тип (задолжителен атрибут) '''Document – Датотеки поврзани со договори или кориснички профили.''' - id – нумерички тип (примарен клуч) - file_type – текстуален тип (PDF, JPG и сл.) (задолжителен атрибут) - file_url – текстуален тип (задолжителен атрибут) - uploaded_at – датумски тип (задолжителен атрибут) '''Address –Податоци за локација на корисници и недвижнини.''' - id – нумерички тип (примарен клуч) - street – текстуален тип (задолжителен атрибут) - city – текстуален тип (задолжителен атрибут) - number– текстуален тип (задолжителен атрибут) - country – текстуален тип (задолжителен атрибут) '''Message - Порака помеѓу сопствникот и изнајмувачот за одредено изнајмување.''' - id - нумерички тип (примарен клуч) - sent_at - датум тип(задолжителен атрибут) - content - текстуален тип(задолжителен атрибут) === Релации - '''lives'''– 1:N релација помеѓу Address и User, каде што една адреса може да биде споделувана од повеќе корисници, а секој корисник мора да има една адреса - '''owned_by''' – 1:N релација помеѓу User и Property, каде што секој сопственик (корисник) може да има повеќе недвижнини, а секоја недвижнина мора да припаѓа на еден сопственик (целосно учество од страна на Property). - '''is_type''' – 1:N релација помеѓу PropertyType и Property, каде што секоја недвижнина има еден тип, а еден тип може да се користи за повеќе недвижнини (целосно учество од страна на Property). - '''located''' – 1:1 релација помеѓу Address и Property, каде што секоја недвижнина има локација (адреса), а една адреса може да се користи за една недвижнина. - '''comprised_of''' – 1:N релација помеѓу Property и Unit, каде што секоја недвижнина може да има повеќе единици, а секоја единица мора да припаѓа на една недвижнина (целосно учество од двата ентитета). - '''listed''' – 1:N релација помеѓу Unit и Listing, каде што секоја единица може да има повеќе огласи во различен период, а секој оглас мора да биде поврзан со една единица (целосно учество од страна на Listing). - '''image''' – 1:N релација помеѓу Property и PropertyImage, каде што една недвижнина може да има повеќе слики, а секоја слика мора да припаѓа на една недвижнина (целосно учество од страна на PropertyImage). - '''is_for'''– 1:N релација помеѓу Unit и Lease , каде што секое изнајмување се однесува на една единица, а една единица може да биде изнајмена повеќепати (во различни периоди) (целосно учество од страна на Lease). - '''tenant''' – 1:N релација помеѓу TenantProfile и Lease, каде што еден изнајмувач може да има повеќе изнајмувања, а секое изнајмување мора да припаѓа на еден изнајмувач(целосно учество од страна на Lease). - '''landlord''' – 1:N релација помеѓу LandlordProfile и Lease, каде што секое изнајмување мора да има еден сопственик , a еден сопственик може да биде дел од повеќе изнајмувања (целосно учество од страна на Lease). - '''payment_is_for_lease''' – 1:N релација помеѓу Lease и Payment, каде што секое изнајмување може да има повеќе наплаќања, а секое плаќање мора да се однесува на некој договор (целосно учество од Payment). - '''refers_to''' – 1:N релација помеѓу PaymentMethod и Payment, каде што секое плаќање мора да користи одреден начин на плаќање, а еден начин на плаќање може да се користи од повеќе плаќања (целосно учество од Payment). - '''servicerequest_is_for_lease''' – 1:N релација помеѓу Lease и ServiceRequest, каде што едно изнајмување може да има повеќе сервисни барања, а секое барање мора да биде поврзано со едно изнајмување. - '''type''' – 1:N релација помеѓу ServiceCategory и ServiceRequest, каде што секое сервисно барање мора да има категорија, а една категорија може да ја имаат повеќе сервисни барања (целосно учество од страна на ServiceRequest). - '''maintenancelog _for_ servicerequest''' – 1:N релација помеѓу ServiceRequest и MaintenanceLog, каде што едно барање може да има повеќе записи за поправки, а секој запис мора да биде поврзан со едно барање (целосно учество од MaintenanceLog). - '''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). == Историјат