Skip to content

ooad-2015-2016/Lequipe

Repository files navigation

#Naziv teme: MyMovieCollection (Tema: "Sistem za prikaz (odabir odgledanih filmova)").


##L'EQUIPE

#####Članovi tima:

  1. Emir Baručija
  2. Amra Mujčinović
  3. Berina Muhović
  4. Tarik Ahmetović

###OPIS TEME

MyMovieCollection je aplikacija koja će omogućiti korisniku da na neki način vodi sopstveni dnevnik filmova, bilo da se radi o filmovima koji su pregledani ili o filmovima koje korisnik želi da pregleda. To znači da ovaj sistem ima korisnu namjenu za korisnike koji su ljubitelji filma i kojima je, u svrhu toga, potrebno da vode evidenciju o filmovima.Shodno tome, svrha sistema je očigledna, a ogleda se u tome da će korisnici moći da, pomoću dobro modeliranog sistema, označe filmove koje su pregledali, ali i da ocijene sam film, glasanjem (vote). Neki od mogućih problemakoji se mogu javiti je da osobe (ljubitelji filma) zaborave koje su filmove pregledali ili da im je važno da ocijene i ponude svoje mišljenje o filmovima. Također, korisnici će moći da ispunjavaju svoju "listu čekanja" filmova koje žele pregledati, a pritome i voditi "dnevnik" radi preporuke drugim osobama. Pored toga, potrebno im je omogućiti prikaz filmova koji su trenutno popularni ili pretragu željenih. Iz tog razloga, MyMovieCollection predstavlja rješenje mogućih problema za korisnike, koji žele kupiti/unajmiti sistem.


###PROCESI

  • Registracija/prijava u sistem

     Osobe koje nemaju korisnički račun i account za pristup sistemu, mogu to uraditi i popuniti potrebne lične podatke 
     (ime, prezime, username, email, lozinka, ...). Prilikom toga će dobiti odgovarajući identifikacioni broj za validno korištenje aplikacije. 
      Osobe koje imaju korisnički račun se loguju unošenjem username-a i lozinke.
    
  • Odjava/LogOut iz sistema

     Korisnici sistema se mogu odjaviti nakon korištenja aplikacije, prilikom čega se će svi podaci i aktivnosti prilikom upotrebe 
     biti sačuvani i zabilježeni.
    
  • Pretraga filmova po nazivu - dodatne informacije o filmu koji se pretražuje, ocjenjivanje filma.

     Korisnik može pomoću search box-a da pronađe željeni film, da pogleda informacije o njemu (žanr, glumci, trajanje i sl), te da
     ga ocijeni.
    
  • Dodavanje fimova na listu odgledanih filmova

     Kada korisnik ocijeni film, on se automatski dodaje u listu pregledanih filmova.
     Međutim, korisnik je u mogućnosti da sam doda neki film, u svoju listu pregledanih filmova, bez da mora ostavljati komentar 
     ili ocjenjivati taj film. 
    
  • Odabir filmova za pregled

     Opcija koja nudi korisniku da doda filmove u vlastitu listu čekanja - kolekciju.
     Kada korisnik pregleda film iz liste čekanja, može da ga, sa ili bez ocjenjivanja, prebaci u listu odgledanih 
     filmova.
    
  • Kolekcija filmova koji su odgledani sortirani po kategorijama.

     Svaka ocjena, svakog korisnika, se spašava u bazu podataka, te je svakom korisniku omogućeno da vidi koji su to 
     filmovi sa najboljim i najlošijim ocjenama, u svakoj kategoriji i žanru.
    

###FUNKCIONALNOST

  • Mogućnost registracije novog korisnika.

  • Mogućnost prijave postojećeg korisnika.

  • Mogućnost pretraživanja filmova.

  • Mogućnost ocjenjivanja filmova.

  • Mogućnost pregleda dodatnih informacija o filmu (npr. vrijeme trajanja filma, glumci, reditelj, kratki sadržaj/radnja, ...).

  • Mogućnost pravljenja vlastitih listi filmova.

  • Mogućnost dodavanja filmova koji su odgledani u kolekciju i to po žanrovima (komedija, akcija, romantični, horori itd).

  • Mogućnost pregleda informacija o aplikaciji i kreatorima iste.

  • Mogućnost pregleda i brisanja korisnika od strane admina.


###AKTERI

  • ADMINISTRATORI SISTEMA

    • Administratori sistema su kreatori sistema, odnosno osobe koje su glavne odgovorne i zadužene za modeliranje i implementaciju sistema.
    • Imaju mogućnost pristupa aplikaciji i, pri tome, privilegije koje svaki administrator ima, a to su:
      • Kontrola korisnika koji se registruju na sistem, kao i onih koji su već prijavljeni na sistem.
      • Upravljanje bazom podataka - korisnici, kolekcija filmova..
      • Upravljanje stanjem aktuelnih filmova, tj. ažuriranje.
      • Mogućnost posjedovanja posebnog interfejsa za admine, a sa druge strane posebnog interfejsa za korisnike.
      • Kontrola eliminacije uvredljivog ili destruktivnog sadržaja - sigurnost.
  • KORISNIK APLIKACIJE "MyMovieCollection"

    • Korisnik aplikacije su one osobe koje koriste sve mogućnosti i potrebne funkcionalnosti aplikacije.
    • Imaju sopstveni account za pristup aplikaciji.
    • Glavna interakcija i pokretanje procesa nalaze se u ulozi ovog aktera - korisnika aplikacije (aplikacija je i namijenjena isključivo u svrhu održavanja kolekcije filmova za korisnike).
  • POVEZIVANJE NA BAZU PODATAKA

    • Korištenje baze filmova, povezivanje na internet.
    • Mogućnost pretrage filmova radi pregleda aktuelnih filmova, mogućnosti sortiranja filmova po ocjenama.
  • EKSTERNI UREĐAJ

    • Cilj je upotpuniti funkcionalnost aplikacije korištenjem nekog od eksternih uređaja.

###Dodano na kraju projekta:

  1. Naša baza je SqlLite baza podataka, dakle koristimo lokalnu bazu, rađenu u Entity Frameworku 7.

  2. Kao eksterni uređaj koristimo serial RFID. Kod za ovaj eksterni uređaj se nalazi u Rfid.cs (https://github.com/ooad-2015-2016/Lequipe/blob/master/Projekat/MyMovieCollectionProjekat/MyMovieCollectionProjekat/MyMovieCollection/Helper/Rfid.cs), a poziva se u klasi AdministratorViewModel.cs (https://github.com/ooad-2015-2016/Lequipe/blob/master/Projekat/MyMovieCollectionProjekat/MyMovieCollectionProjekat/MyMovieCollection/ViewModels/AdministratorViewModel.cs).

  3. Validacija je rađena pri logovanju na aplikaciju, te pri registraciji na sistem, te je stoga validacija vršena u klasama LoginViewModel.cs (https://github.com/ooad-2015-2016/Lequipe/blob/master/Projekat/MyMovieCollectionProjekat/MyMovieCollectionProjekat/MyMovieCollection/ViewModels/LoginViewModel.cs), te RegistracijaViewModel.cs (https://github.com/ooad-2015-2016/Lequipe/blob/master/Projekat/MyMovieCollectionProjekat/MyMovieCollectionProjekat/MyMovieCollection/ViewModels/LoginViewModel.cs).

  4. Za eksterni servis smo koristili OMDB online bazu filmova (njihov API), http://www.omdbapi.com/ , a servis je korišten u klasi FilmViewModel.cs (https://github.com/ooad-2015-2016/Lequipe/blob/master/Projekat/MyMovieCollectionProjekat/MyMovieCollectionProjekat/MyMovieCollection/ViewModels/FilmViewModel.cs).

  5. Za prilagodljivost mobilnim uređajima, kod se nalazi u (https://github.com/ooad-2015-2016/Lequipe/tree/master/Projekat/MobileProjekat) , a koristili smo GPS na mobitelima, čiji kod je, pored implementacije u mobilnom projektu, implementiran i u klasi GPSViewModel.cs (https://github.com/ooad-2015-2016/Lequipe/blob/master/Projekat/MyMovieCollectionProjekat/MyMovieCollectionProjekat/MyMovieCollection/ViewModels/GPSViewModel.cs), dok se poziva u klasi Pocetna.xaml.cs (https://github.com/ooad-2015-2016/Lequipe/blob/master/Projekat/MyMovieCollectionProjekat/MyMovieCollectionProjekat/MyMovieCollection/Views/Pocetna.xaml.cs)

  6. Klijentima pružamo web servis koji je implementiran u (https://github.com/ooad-2015-2016/Lequipe/tree/master/Projekat/ASPNETMyMovieCollection), i omogućeno im je da pretražuju bazu podataka korisnika aplikacije.

  7. Napravljen build igrice, postavljen pod imenom igrica.

  8. Video postavljen.

  9. Izvještaji rada postavljeni.

  10. Help prikazan unutar aplikacije, te dodan kao dokument na repozitorij.