| 1 | = Актуелна верзија |
| 2 | = Дијаграм |
| 3 | |
| 4 | [[Image()]] |
| 5 | |
| 6 | == Податочни побарувања |
| 7 | |
| 8 | ==== Ентитети |
| 9 | |
| 10 | * [[span(style=color: #0000FF, **Admin:)]] Како што самото име кажува Админот ке биде ентитет кој ќе се креира директно во базата на податоци и ке има само еден. Тој ќе биде задолжен за одобрување на Возачот (Driver) профилите.** |
| 11 | * ''Кандидат клучеви:'' Admin_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност. |
| 12 | * **Листа атрибути на ентитетот:** |
| 13 | 1. ''Name'' – Текстуален тип на податок, задолжително поле. |
| 14 | 2. ''Surname'' – Текстуален тип на податок, задолжително поле. |
| 15 | 3. ''Email'' – Текстуален тип на податок, задолжително поле кое мора да е во форма на ''xxxxxx@mail.com'' |
| 16 | 4. ''Password'' – Текстуален тип на податок, заполжително поле, мора да има минимум 8 карактери, 1 специјален карактер и 1 цифра. |
| 17 | |
| 18 | |
| 19 | * [[span(style=color: #0000FF, **Driver:)]] Овој ентитет ке ги чува податоците за сите возачи што ги има компанијата.** |
| 20 | * ''Кандидат клучеви:'' Driver_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност. |
| 21 | * **Листа атрибути на ентитетот:** |
| 22 | 1. ''Name'' – Текстуален тип на податок, задолжително поле. |
| 23 | 2. ''Surname'' – Текстуален тип на податок, задолжително поле. |
| 24 | 3. ''Email'' – Текстуален тип на податок, задолжително поле кое мора да е во форма на ''xxxxxx@mail.com'' |
| 25 | 4. ''Password'' – Текстуален тип на податок, заполжително поле, мора да има минимум 8 карактери, 1 специјален карактер и 1 цифра. |
| 26 | 5. ''Profile_picture'' – Слика која ќе се чува како BLOB тип на податок и ќе претставува профилна фотографија на возачот, не е задолжителна. Сите слики се зачувуваат во 300x500 големина. |
| 27 | 6. ''Price_per_km'' – Нумерички тип на податок, задолжително поле. Секој возач си има своја цена за тоа колку кошта превозот по изминат километар. |
| 28 | 7. ''Status'' – Булеан тип на податок, најпрвин поставен на Слободен, потоа при секое возење ќе се сетира автоматски на Зафатен и обратно. |
| 29 | 8. ''isApproved'' – булеан тип на податок, најпрвин поставен на false, доколку админот го одобри профилот на возачот, тогаш станува true. |
| 30 | |
| 31 | * [[span(style=color: #0000FF, **Passenger:)]] Вистинскиот корисник на апликацијата, патникот. Овој ентитет ни ги чува податоците за сите патници кој што ја користат апликацијата.** |
| 32 | * ''Кандидат клучеви:'' Passenger_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност. |
| 33 | * **Листа атрибути на ентитетот:** |
| 34 | 1. ''Name'' – Текстуален тип на податок, задолжително поле. |
| 35 | 2. ''Surname'' – Текстуален тип на податок, задолжително поле. |
| 36 | 3. ''Email'' – Текстуален тип на податок, задолжително поле кое мора да е во форма на xxxxxx@mail.com |
| 37 | 4. ''Password'' – Текстуален тип на податок, заполжително поле, мора да има минимум 8 карактери, 1 специјален карактер и 1 цифра. |
| 38 | |
| 39 | * [[span(style=color: #0000FF, **Car:)]] Овој ентитет ке ни служи за чување на инфомациите за сите автомобили кој што ги користат возачите.** |
| 40 | * ''Кандидат клучеви:'' Car_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност. Друга идеја беше да се користи license_plate атрибутот како примарен клуч, но со цел да останеме конзистенти во сите атрибути и полесно имплементирање на апликацијата, ќе користиме специјален Car_Id. |
| 41 | * **Листа атрибути на ентитетот:** |
| 42 | 1. ''License_plate'' – Текстуален тип на податок, задолжително поле, мора да е во формат на XX-YYYY-XX, или XX-YYY-XX, каде X е буква, Y е цифра. |
| 43 | 2. ''Тype'' – Мултивредностен атрибут кој што се состои од Make (Текстуално поле, марка на автомобил, задолжително) Model (Текстуално поле, модел на автомобил, задолжително), Year(Нумеричко поле, година на автомобил). |
| 44 | |
| 45 | * [[span(style=color: #0000FF, **Drive:)]] Овој атрибут ќе ни служи за зачувување на сите потребни информации за сите патувања на патниците со возачите.** |
| 46 | * ''Кандидат клучеви:'' Drive_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност. |
| 47 | * **Листа атрибути на ентитетот:** |
| 48 | 1. ''Status'' – Текстуален тип на податок, задолжително поле кое што ни покажува дали ова патување е завршено, побарано од страна на некој патник, потврдено од возач или комплетирано. |
| 49 | 2. ''Km_traveled'' – Изведен атрибут од локациските координати, Нумерички тип на податок, задолжително поле што ни означува колку километри се извозени за одредено патување. |
| 50 | 3. ''Destination coordinates'' – Текстуален тип на податок, задолжително поле кое ни ја претставува дестинацијата на која ќе заврши патувањето. |
| 51 | 4. ''Pick_up_address'' – Мултивредносен атрибут кој што ќе ни го означува почетокот на патувањето, има Location Coordinates (координати за од каде ќе почне патувањето) и евентуално Street, City (текстуални полиња), Number (нумеричко поле) за адреса. |
| 52 | |
| 53 | * [[span(style=color: #0000FF, **Payment:)]] Овој ентитет ќе ги зачувува сите наплати од возачите на патниците.** |
| 54 | * ''Кандидат клучеви:'' Payment_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност. |
| 55 | * **Листа атрибути на ентитетот:** |
| 56 | 1. ''Sum_payed'' – Нумерички тип на податок, изведен атрибут кој што ќе се пресметува од Km_traveled*Price_per_km. |
| 57 | |
| 58 | ==== Релации |
| 59 | |
| 60 | * [[span(style=color: #0F7209, **Approve-Account:)]] Овaa релација е помеѓу Admin и Driver ентитетите и ни го претставува одобрувањето на возачките профили. |
| 61 | * [[span(style=color: #0F7209, **Confirm:)]] Оваа релација е помеѓу Driver и Drive и го претставува потврдувањето на патувањата од страна на возачите. |
| 62 | * [[span(style=color: #0F7209, **Request:)]] Оваа релација е помеѓу Drive и Passenger и го претставува побарувањето на превоз од страна на патниците. |
| 63 | |
| 64 | === Историјат |
| 65 | |
| 66 | * [attachment:] |
| 67 | ''Првичната верзија на ЕР дијаграмот. Целосно и комплетно објаснет погоре.'' |
| 68 | |
| 69 | |