ИЕП/Лаб 1 2024 — разлика између измена
Нема описа измене |
|||
Ред 139: | Ред 139: | ||
=== Решење === | === Решење === | ||
== Напомене == | |||
<references /> | |||
[[Категорија:ИЕП]] | [[Категорија:ИЕП]] | ||
[[Категорија:Лабораторијске вежбе]] | [[Категорија:Лабораторијске вежбе]] |
Верзија на датум 2. април 2024. у 21:14
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
Прва лабораторијска вежба 2024. одржана је 2. априла. Били су доступни зипови са вежби (презентације и код), као и документације за Python, Flask, SQLAlchemy. Време израде је било 120 минута, јер је прва година. У будуће највероватније трајање биће сат времена, што је по речима предметног асистена и било довољно.
Поставка
Посматра се систем за аукције у коме корисници могу да креирају аукције на којима продају производе. Приликом креирања аукције, познати су производ, време почетка аукције и почетна цена, док се време краја аукције дефинише у моменту проглашења краја аукције. Сваки корисник може да даје већи број понуда док аукција траје. Износ сваке понуде мора да буде строго већа од износа претходно дате понуде за исту аукцију. У тренутку када се прогласи крај, уколико је била бар једна понуда за ту аукцију аукција се сматра успешном и проглашава се победник те аукције. У супротном, аукција се сматра неуспешном и победник не постоји. Сваки производ припада некој од категорија.
Kategorija (IdKat, Naziv, IdKatNad)
IdKat - цео број, идентификује категорију, аутоматско додељивање наредног идентификатора
Naziv - низ до 50 знакова, обавезнo
Proizvod (IdPro, IdAuk, Naziv, IdKat)
IdPro - цео број, идентификује производ, аутоматско додељивање наредног
идентификатора
Naziv - низ до 50 знакова, обавезнo
IdKat - страни кључ (табела Kategorija), обавезно
Korisnik (IdKor, Ime)
IdKor - цео број, идентификује корисника, аутоматско додељивање наредног идентификатора
Ime - низ до 50 знакова, обавезнo
Aukcija (IdAuk, Pocetak, Kraj, Cena, IdPro, IdKor)
IdAuk - цео број, идентификује аукцију, аутоматско додељивање наредног
идентификатора
Pocetak - низ од 10 карактера, обавезно, време у формату (yymmddhhmm)
Kraj - низ од 10 карактера, време у формату (yymmddhhmm)
Cena - цео број, обавезно, вредност већа од 0
IdPro - страни кључ (табела Proizvod), обавезно
IdKor - страни кључ (табела Korisnik), обавезно
Напомена:
Атрибут IdKor представља корисника који је иницирао аукцију.
Атрибут Cena представља почетну цену производа.
Уколико је вредност атрибута Kraj једнака NULL, то значи да је време краја аукције непознато и да је аукција активна, уколико је вредност атрибута Kraj дефинисан, аукција је завршена. Сматрати да је вредност атрибута Kraj увек исправна (мања од тренутног времена).
Ponuda (IdPon, Trenutak, Iznos, IdKor, IdAuk)
IdPon - цео број, идентификује понуду, аутоматско додељивање наредног идентификатора
Trenutak - цео број, време у формату (yymmddhhmm)
Iznos - цео број, обавезно, вредност већа од 0
IdKor - страни кључ (табела Korisnik), обавезно
IdAuk - страни кључ (табела Aukcija), обавезно
Напомена: Атрибут IdKor представља корисника који даје понуду.
Гарантује се да ће Trenutak понуде бити исправан и да ће припадати интервалу у коме је аукција активна. Гарантује се да ће износ сваке касније понуде за исту аукцију бити строго већи.
Група 1
1. задатак
Поставка
Адреса | /add_user |
Тип | POST |
Параметри | Име корисника прослеђује се кроз тело захтева коришћењем кључа name. |
Одговор | Повратна вредност је идентификатор додатог корисника. |
Решење
2. задатак
Поставка
Адреса | /user_search?name=... |
Тип | GET |
Параметри | Име корисника је опциони параметар који се прослеђује као query параметар руте. |
Одговор | Повратна вредност је листа корисника чије име одговара прослеђеном парамтеру. |
Решење
3. задатак
Поставка
Адреса | /user_auctions?min... |
Тип | GET |
Параметри | Минимум је опциони параметар који се прослеђује као query параметар руте. |
Одговор | Повратна вредност је листа парова где први члан представља идентификатор корисника, а други број успешно завршених аукција. У случају да је прослеђен параметар кроз руту, онда се враћају само они корисници који имају min или више аукција.[1] |
Решење
4. задатак
Поставка
Решење
Напомене
- ↑ Асистент је напоменуо да пошто није дефинисано поставком, могу се, а не морају исписивати корисници са 0 аукција.