Veb portal za aukcijsku prodaju - projekat -

Similar documents
Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

Podešavanje za eduroam ios

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

Uvod u relacione baze podataka

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

STRUČNA PRAKSA B-PRO TEMA 13

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

SAS On Demand. Video: Upute za registraciju:

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

1.UVOD. Ključne reči: upotrebljivost, praćenje, korisnički interfejs, aplikacija

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

Otpremanje video snimka na YouTube

Tutorijal za Štefice za upload slika na forum.

1. Instalacija programske podrške

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

Bušilice nove generacije. ImpactDrill

DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO DOO PODGORICA

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

Office 365, upute za korištenje elektroničke pošte

za STB GO4TV in alliance with GSS media

Aplikacija za podršku transferu tehnologija

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

PROJEKTNI PRORAČUN 1

Projektovanje softvera. Dijagrami slučajeva korišćenja

Struktura i organizacija baza podataka

RANI BOOKING TURSKA LJETO 2017

Nejednakosti s faktorijelima

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

IMPLEMENTACIJA TEHNIKA ZA POVEĆANJE BROJA PODRŽANIH KONKURENTNIH KORISNIKA VEB SAJTA

Port Community System

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

Uputstvo za korišćenje Asseco WEB 3.0 aplikacije za Fizička lica

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

Visoka škola strukovnih studija za informacione i komunikacione tehnologije. SMS Gateway. Dr Nenad Kojić

Mindomo online aplikacija za izradu umnih mapa

Windows Easy Transfer

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Uputstvo za konfigurisanje uređaja Roadstar

Advertising on the Web

Dežurni nastavnik: Ispit traje 3 sata, prvih sat vremena nije dozvoljeno napuštanje ispita. Upotreba literature nije dozvoljena.

PRIMENA RFID TEHNOLOGIJE ZA PRAĆENJE I ARHIVIRANJE DOKUMENATA

Pravljenje Screenshota. 1. Korak

OBAVJESTENJE 0 NABAVCI /18 KP "VODOVOD I KANALIZACIJA" A.O. BROD. Nikole Tesle Brod (sp bl) (053)

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

Klasterizacija. NIKOLA MILIKIĆ URL:

BENCHMARKING HOSTELA

TIME-STAMP KLIJENT APLIKACIJA I TESTNI TSA SERVER POŠTE SRBIJE

Upute za korištenje makronaredbi gml2dwg i gml2dgn

3D GRAFIKA I ANIMACIJA

Rešavanje problema pomoću računara

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

Интеграција система паметне куће са Амазон Алекса сервисом

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

mdita Editor - Korisničko uputstvo -

Jedine besplatne novine koje uz organizovanu distribuciju nude mogućnost da svakome budu dostupne

DZM Aplikacija za servise

ЗАВРШНИ (BACHELOR) РАД

Web aplikacija za evaluaciju sudionika na tržištu najma nekretnina

ONLINE APLIKACIJA ZA SLANJE OBAVIJESTI U PREDDEFINIRANO VRIJEME

ADDIKO CHAT BANKING - ČESTO POSTAVLJANA PITANJA

URF (Portal za sudionike) PRIRUČNIK ZA REGISTRACIJU

VEB APLIKACIJA ZA IZBOR RESTORANA

DEFINISANJE TURISTIČKE TRAŽNJE

Prisustvo javnih biblioteka na internetu

Projektovanje sistema elektronskog poslovanja

Use-case diagram 12/19/2017

Uputstvo za apliciranje. Instrukcije za popunjavanje aplikacione forme April P a g e Application Manual

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

FAKULTET ZA POSLOVNU INFORMATIKU

ЗАВРШНИ (BACHELOR) РАД

SADRŽAJ. Besplatna registracija. Odabir platforme za trgovanje. Čime želimo trgovati? Trgovanje

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6.

JavaScript podrska u radu sa greskama

Microsoft Courses Schedule February December 2017

Mogudnosti za prilagođavanje

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

-Diplomski rad- Višeslojna Web aplikacija za on-line prodaju cveća N-tier web application for on-line flowers selling

ДИПЛОМСКИ РАД - Основне академске студије -

WEBE-Bankzapravnalica Uputstvo za upotrebu

VEB APLIKACIJA ZA IZBOR KOKTELA

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU

MATEMATIČKI FAKULTET BEOGRADSKI UNIVERZITET MASTER TEZA. Aplikacija za voñenje evidencije prihoda i rashoda zasnovana na.

TEHNIČKO REŠENJE. Integrisani sistem za fizikalnu terapiju

MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU RAČUNARSTVO KRISTIAN LEINER

IZRADA SUSTAVA ZA UPRAVLJANJE SADRŽAJEM KORIŠTENJEM WEB TEHNOLOGIJA OTVORENOG KODA

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

SISTEMI ZA UPRAVLJANJE SADRŽAJEM

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

Slika broj 1. Primer dijagrama sekvenci

CRNA GORA

Transcription:

Univerzitet u Beogradu Elektrotehnički fakultet Katedra za računarsku tehniku i informatiku Predmet: Infrastruktura za elektronsko poslovanje Datum: 6.5.2018. Asistent: Nemanja Kojic (nemanja.kojic@etf.rs) Veb portal za aukcijsku prodaju - projekat - Osnovni cilj projekta je: 1) projektovanje i implementacija veb portala, 2) implementacija interfejsa ka drugim sistemima kroz veb servise. Portal je namenjen za višekorisnički rad i treba da bude dizajniran za potrebe ispravnog i efikasnog rada u konkurentom okruženju. Deo funkcionalnosti sistema je javno dostupan, dok je deo funkcionalnosti obezbeđen samo za korisnike koji mogu da se prijave na sistem. Mora se obezbediti da svaki korisnik može da vidi samo svoje podatke i da istovremeno ne sme da vidi podatke drugih korisnika, osim onih koji su eksplicitno dostupni drugim korisnicima. Veb portal mora da poseduje mašinski interfejs za integraciju sa drugim sistemima koji se realizuje u vidu veb servisa. Konceptualni opis domena Ključni koncepti u sistemu: korisnički nalog (account), proizvod (product), aukcija (auction), ponuda (bid) i token. Opis koncepata sledi u nastavku teksta projektnog zadatka. Token Token je virtuelna mera vrednosti ("novac") kojom korisnik portala raspolaže i kojom može da učestvuje u aukcijskim nadmetanjima, ali i da izvršava funkcionalnosti portala koje se naplaćuju. Prilikom nadmetanja na aukcijama korisnik svaki put može da podigne prodajnu cenu ulažući jedan token, smanjujući istovremeno sopstvene zalihe. Korisnik portala može da dopuni zalihe tokena, uz odgovarajuću novčanu nadoknadu (koristeći sistem elektronskog plaćanja). Korisnik (User) Sistem upravlja korisnicima, koji mogu da se registruju i prijavljuju na sistem nakon uspešne registracije. Za svakog korisnika čuvaju se sledeći podaci: ime i prezime korisnika, mejl adresa (kojom se prijavljuje na sistem), lozinka za prijavljivanje, kao i broj tokena. Lozinka za pristup se mora čuvati na bezbedan način. Aukcija (Auction) Aukcija ima jedinstven identifikator (GUID), naziv i sliku proizvoda koji se prodaje, ima definisano trajanje (u sekundama, podrazumevano D sekundi), početnu cenu za nadmetanje (u valuti portala C), trenutnu cenu (u valuti C), datum i vreme stvaranja (created), datum i vreme otvaranja (opened), kao i datum i vreme zatvaranja (closed). Aukcija može biti u stanjima READY, OPENED, COMPLETED. Aukcija može da se započne, pri čemu dobija status OPENED i od tog trenutka može da prihvata ponude (bids). Po završetku stvaranja, aukcija je u stanju READY i njom dalje upravlja administrator. 1

Narudžbina (TokenOrder) Narudžbina se pravi kada korisnik započne kupovinu tokena. Narudžbina ima jedinstven identifikator (GUID), podatak o korisniku koji kupuje, podatak o broju tokena, (realnu) cenu paketa i može biti u jednom od stanja: u toku (SUBMITTED), poništena (CANCELED) ili realizovana (COMPLETED). Kada se napravi, narudžbina inicijalno dobija status SUBMITTED. Iz tog statusa, može dobiti ili status COMPLETED ili status CANCELED. Jednom poništena ili realizovana narudžbina više ne može menjati status. Ponuda (Bid) Ponuda se pravi prilikom aukcijskog nadmetanja. Sadrži podatak o korisniku koji je poslao ponudu, aukciji, kao i vremenski trenutak slanja ponude, kao i broj tokena koji je uložen (mora biti uvek veći od broja uloženih u trenutno poslednoj ponudi). Aplikacija podrazumevano nudi broj tokena za 1 veći nego u tekućoj poslednjoj ponudi, ali korisnik može opciono i sam postaviti broj tokena ponude. Funkcionalna specifikacija sistema U nastavku su navedene sve funkcionalnosti koje sistem mora da ima. Funkcionalnosti sistema su podeljene na javno dostupne (za koje nije potrebna provera identiteta) i one koje su dostupne samo prijavljenim korisnicima (koje zahtevaju provera identiteta i prava pristupa). Javno dostupne funkcionalnosti sistema (1) Pretraga aukcija Pretraga aukcija je javno dostupna i stoji na raspolaganju svim korisnicima sistema, bez obzira da li su registrovani/prijavljeni na sistem ili ne. Ukoliko korisnik ne navede kriterijume za pretragu dobija podrazumevano listu od N najskorije započetih aukcija (podrazumevano 10). Pretraga se može vršiti po sledećim kriterijumima: reči u nazivu proizvoda, opsegu cena (interval od minimalne do maksimalne), stanju aukcije. Svaki od navedenih kriterijuma pretrage je opcioni. Ukoliko se neki kriterijum ne unese, ne razmatra se prilikom pretrage. Omogućiti i pretragu parcijalno unetih reči, kao i pretragu po više unetih (parcijalnih) reči. Pronađene aukcije treba prikazati u listi kao na slici 1. Dok korisnik pregleda rezultat, server treba da šalje notifikacije klijentu čim se dese promene u sistemu (poslata nova ponuda ili je aukcija završena) i te promene treba da se osveže u realnom vremenu. Prikaz jedne aukcije treba da bude realizovan kao na slici 1. Potrebno je navesti naziv proizvoda i sliku, status aukcije, preostalo vreme (koje se osvežava u realnom vremenu), trenutnu cenu, kao i podatak o korisniku koji je poslednji licitirao. (2) Prikaz detalja aukcije Ime proizvoda na prikazu aukcije vodi korisnika na stranicu o detaljima aukcije. Na stranici za detalje aukcija se prikazuje upotrebom iste komponente, osim što se dodatno prikazuje i lista svih ponuda date aukcije. Kao i na početnoj, stranica za detalja mora se dinamički osvežavati promenama sa servera u realnom vremenu (promena cene, promene časovnika aukcije, imena licitatora, kao i statusa (u slučaju zatvaranja). (3) Registracija korisnika (klijenta) Ova funkcionalnost omogućava registrovanje korisnika (ne i administratora). U sistemu postoji samo jedan administrator koji je unapred napravljen u procesu inicijalizacije/instalacije sistema. Prilikom registracije korisnik unosi ime, mejl adresu i lozinku pomoću koje se prijavljuje na sistem. Kada pokrene slanje zahteva vrši se validacija unetih podataka i, ako je sve 2

korektno uneto, registruje se novi korisnik. Ukoliko neki od parametara za registraciju naloga nije korektno zadat ili ne zadovoljava postojeća ograničenja u modelu podataka, sistem ne treba da napravi korisnički nalog, već treba da vrati stranicu za registraciju sa ispisanom porukom o grešci. Nakon uspešne registracije, prikazuje se stranica za prijavljivanje na sistem. U cilju pojednostavljenja zahteva od studenata se ne zahteva implementacija potvrde registracije. (4) Prijavljivanje na sistem (login) Prilikom prijavljivanja, korisnik unosi svoju mejl adresu i lozinku. Ukoliko neki od navedenih podataka nije validan prijavljuje se greška i korisniku se vraća stranica za prijavljivanje na sistem. Naziv proizvoda na aukciji. Slika proizvoda Vizuelizacija promene cene Preostalo vreme Povećanje poč. cene. Korisnik koji je poslednji licitirao Slika 1 Primer list aukcija dobijenih pretragom. Funkcionalnosti dostupne registrovanim korisnicima Korisnici pored javno dostupnih funkcionalnosti, imaju na raspolaganju i funkcionalnosti koje su u nastavku opisane. VAŽNO: Funkcionalnosti opisane u nastavku dostupne su isključivo korisnicima koji mogu da se prijave na sistem. Ukoliko se pošalje zahtev za neku od navedenih funkcionalnosti, sistem mora da proveri da li je korisnik koji je uputio zahtev registrovan i prijavljen na sistem. 3

Ukoliko dati uslov nije zadovoljen, korisnik biva preusmeren na stranicu za prijavljivanje/registraciju! (5) Izmene podataka o korisniku Korisnik može po želji ili potrebni da ažurira i koriguje podatke svog naloga. Moguće je ažurirati sve podatke (osim identifikatora korisnika koji mu je sistem dodelio) i zalihe tokena koja se realizuje u okviru drugog slučaja korišćenja. (6) Kupovina tokena Prijavljeni korisnici mogu da kupuju tokene. Korisniku se nude tri paketa tokena: silver (S tokena, podr. 30), gold (G tokena, podr. 50), platinum (P tokena, podr. 100). Plaćanje tokena se obavlja elektronski. Korisnik prvo odabera paket tokena koje kupuje, zatim navede sve podatke koje sistem za elektronsko plaćanje od njega zahteva i inicira plaćanje. U tom trenutku pravi se nova narudžbina sa statusom SUBMITTED i šalje se zahtev sistemu za elektronsko plaćanje. Ukoliko plaćanje uspe, sistem za plaćanje šalje notifikaciju portalu o uspešno izvršenoj transakciji preko veb servisa koji treba obezbediti. Tada portal sprovodi sledeće korake: (1) narudžbina dobija status COMPLETED, (2) ažurira se zaliha tokena korisniku, (3) i šalje mejl korisniku sa obaveštenjem o kupovini tokena. Ukoliko plaćanje iz bilo kog razloga ne uspe, sistem za plaćanje šalje odgovarajuću notifikaciju portalu i time narudžbina dobija status CANCELED, a korisniku se prikazuje poruka o nastaloj grešci (npr. kao notifikacija). Postupak promene statusa narudžbine je detaljno opisan u opisu koncepta Narudžbina, (vidi Konceptualni opis domena). (7) Elektronsko plaćanje tokena Elektronsko plaćanje vrši specijalizovani eksterni sistem, sa kojim portal treba da komunicira putem veb servisa. Elektronsko plaćanje se bazira na SMS servisu. Kada korisnik započne kupovinu tokena i unese neophodne parametre koje sistem za plaćanje zahteva (broj mobilnog telefona), poziva se odgovarajuća metoda veb servisa sistema za plaćanje, čime se inicira postupak plaćanja, i korisniku se prikazuje stranica za sledeći korak kupovine unos autorizacionog koda. Ako je zahtev validan, sistem za plaćanje pokreće transakciju za plaćanje i šalje korisniku autorizacioni kod putem SMS poruke. Korisnik zatim unosi autorizacioni kod na trenutnoj stranici za kupovinu i portal šalje autorizacioni kod sistemu za plaćanje pozivom odgovarajuće metode veb servisa sistema za plaćanje. Kada primi autorizacioni kod, sistem sa plaćanje nastavlja započetu platnu transakciju. Kada se platna transakcija izvrši, sistem za elektronsko plaćanje šalje notifikaciju portalu o uspešno izvršenoj transakciji (putem veb servisa koji treba obezbediti), koja se obrađuje na način koji je opisan u slučaju korišćenja (6). Svi relevantni parametri metoda veb servisa sistema za elektronsko plaćanje su detaljno opisani u dokumentaciji sistema za elektronsko plaćanje. (8) Pregled narudžbina tokena Korisnik mora imati mogućnost da pregleda narudžbine koje je napravio (kupujući tokene). Narudžbine se prikazuju u listi (sa straničenjem). (9) Pravljenje aukcija Korisnik može da napravi novu aukciju, unosom svih relevantnih podataka opisanih u konceptualnom opisu domena (ime proizvoda, sliku, početnu cenu i trajanje u sekundama). Ukoliko neki podatak nije unet, ili ima pogrešnu vrednost, treba ga vidljivo označiti i korisnika vratiti na stranicu za unos detalja proizvoda. Po unosu svih podataka, korisnik stvara (Create) aukciju i ona prelazi u red spremnih (READY). Isključivo administrator može da započne spremne aukcije. Po započinjanju aukcije, trenutna cena postaje početna cena. 4

(10) Licitiranje Prijavljenim korisnicima treba da bude omogućeno licitiranje u okviru aktivne aukcije. Na prikazu aukcije treba da bude dugme/link kojim se licitira (kao na slici 1: Bid Now ). Licitiranjem korisnik ulaže potreban broj tokena i time povećava trenutnu cenu proizvoda (konverzijom broja tokena u valutu na osnovu vrednosti jednog tokena T). Isto to rade i drugi korisnici koji su zainteresvani za posmatranu aukciju. Čim neki korisnik licitira i podigne trenutnu cenu proizvoda, promena istog trenutka (u realnom vremenu) mora da se pošalje svim korisnicima koji trenutno prate tu aukciju. Licitiranje na aukciji je moguće sve dok ne istekne vreme. Korisnik koji je poslednji licitirao pre isteka vremena je pobednik. (11) Prikaz dobijenih aukcija Korisnik treba da ima mogućnost da pregleda sve aukcije na kojima je pobedio. Dobijene aukcije se prikazuju na isti način kao i aukcije koje se dobijaju pretragom. Odabirom dobijene aukcije korisnik ima mogućnost da ode na stranicu za detalje aukcije, kao što je već opisano u tekstu, s tim da pošto je aukcija završena neće biti promena podataka. Funkcionalnosti dostupne administatoru Administrator je specijalna vrsta korisnika koja nastaje u fazi instalacije sistema. Bilo koja funkcionalnost dostupna administratoru zahteva da bude najavljen na sistem. Ukoliko to nije slučaj, sistem mora korisnika da preusmeri na stranicu za prijavljivanje. (12) Ažuriranje parametara portala Omogućiti administratoru da upravlja parametrima sistema: N podrazumevani broj najskorijih aukcija na strani za pregled, D podrazumevano trajanje aukcije, S broj tokena za Silver paket, G broj tokena za Gold paket, P broj tokena za platinum paket (S < G < P), C valuta portala za cene (npr. RSD, USD, EUR), T vrednost tokena (u jedinicama valute C). Jednom formirana cena, mora imati fiksiranu valutu, koja se ne sme promeniti eventualnom promenom parametra C. (13) Otvaranje aukcije Administrator samo može otvori READY aukciju. Jednom otvorena aukcija ne može biti ponovo otvorena. Sprega portala sa drugim i sistemima (veb servisi) Opisani portal mora da komunicira i sa drugim sistemima, u smislu pružanja određenih servisa ili korišćenja servisa spoljašnjih sistema, kao što je sistem za elektronsko plaćanje. Sprega se implementira u vidu veb servisa, čiji opis sledi u nastavku. Potrebno je obezbediti REST veb interfejs, implementiran korišćenjem NET tehnologije. Funkcionalnosti dostupne kroz veb servise se izvršavaju isključivo uz adekvatnu proveru identiteta klijenta koji poziva veb servis. To se ostvaruje prosleđivanjem odgovarajućih (challenge) tokena i njihovu proveru. (14) Realizacija potrebnih veb metoda za prijem notifikacija od sistema za plaćanje Za spregu sa sistemom za plaćanje potrebno je omogućiti odgovarajuće servise putem kojih sistem za plaćanje treba da šalje portalu notifikacije o uspešnosti platnih transakcija. Detalji o interfejsu zahtevanih servisa, koje treba realizovati, biće dostupni u pratećoj dokumentaciji sistema za plaćanje. 5

Tehnički zahtevi 1) Projektovati šemu baze podataka. Šema baze podataka treba da bude u skladu sa konceptualnim opisom domena problema. Koristi se SQL Server DBMS sa izradu projekta. Dostaviti SQL skriptu koja stvara šemu baze i inicijalizuje sistem. 2) Pristup podacima treba da bude realizovan pomoću ORM okvira Entity Framework. Upiti se zadaju isključivo korišćenjem EF i upitnog jezika LINQ. Ne preporučuje se pisanje direktnog SQL-a u rešenju, osim ako to nije apsolutno neophodno. 3) Razviti veb aplikaciju prema opisu i zahtevima iz teksta zadatka. Za pravljenje veb aplikacije koristi se ASP.NET MVC 5 tehnologija i programski jezik C#. Za pravljenje korisničkog interfejsa koristiti Razor jezik i CSS, kao i neki od front-end okvira (npr. Bootstrap, Angular, JQuery ili Javascript). 4) Implementirati zahtevane veb servise i podići ih na IIS server. 5) Rešenje mora biti instalirano na Azure oblaku. 6) Mora se implementirati i validacija podataka, kako na korisničkim formama, tako i na serverskoj strani. 7) Da bi bilo omogućeno praćenje nepredviđenih izvršavanja, potrebno je voditi zapisnik akcija koje se dešavaju na serveru (log fajlovi, log4net). 8) Funkcionalnosti se ocenjuju po principu "sve ili ništa" (u funkcionalnom i vizuelnom smislu). 9) Kriterijumi za vrednovanje rešenja: - grafički interfejs (robusnost, poštovanje zahteva u tekstu): 10% - sve realizovane funkcionalnosti veb aplikacije 70% - veb servisi i sprega sa eksternim sistemom: 10% - briga o integritetu podataka (problem utrkivanja, nedozvoljene izmene podataka): 10%. Važne napomene: Tekst zadatka pročitati u celini i pažljivo pre započinjanja realizacije ili traženja pomoći. Ukoliko u zadatku nešto nije dovoljno precizno definisano ili su postavljeni kontradiktorni zahtevi, student treba da uvede razumne pretpostavke, da ih temeljno obrazloži i da nastavi da izgrađuje preostali deo svog rešenja na temeljima uvedenih pretpostavki. Zahtevi su namerno nedovoljno detaljni, jer se od studenata očekuje kreativnost i profesionalni pristup rešavanju praktičnih problema. Takođe, prilikom izrade datog projektnog zadatka treba obratiti pažnju i na upotrebljivost realizovanog sistema. Osnovna smernica za ostvarivanje što bolje upotrebljivosti sistema je da korisnicima sistema treba omogućiti što udobniji, brži, jednostavniji i pouzdaniji rad sa sistemom. Svi takvi detalju uvek donose dodatni kvalitet samom rešenju. 6