Vytvorte jednoduchu socialnu siet s moznostou pridavania multimedialnych prispevkov ( obrazok, video ). Semestralne zadanie bude vypracovavat v trojici. Odovdzat je ho potrebne pred poslednym cviceni, na ktorom ho budete potom prezentovat.

ZADANIE JE POTREBNE ODOVZDAT DO 13.12. 6:00.

Zdrojovy kod odovzdat do miesta odovzdania v AIS. A nasledne na cviceni 13.12. mat pripraveny kod v pocitaci a tiez nainstalovanu aplikaciu na mobile na demostraciu funkcionality.

Hodnotenie

  • Firebase Authentication - Prihlasenie, odhlasenie, registracia - po 1 bode spolu 3 body
  • Firebase Crashlytics - ukazka aj Firebase konzoly - 2 body
  • Firebase Firestore - pouzivanie databazy v spravnej strukture - ukazka vo firebase konzole - 5 bodov
  • Upload Videa a fotky (novy prispevok) - 2,5 + 2,5 bodov = 5 bodov
  • Zobrazenie spravneho profilu po vertikalnom skrolovani - 2 body
  • Horizontalne skrolovanie prispevkov od vsetkych pouzivatelov - 2 body + 2 body ak sa po uploade novy prispevok zobrazi ihned na zaciatku
  • Vertikalne skrolovanie spravnych prispevkov od daneho pouzivatela - 2 body + 2 body ak sa po uploade novy prispevok zobrazi ihned na vrchu
  • Prehravanie videa ( prehranie, plynulost, prisposobenie velkosti obrazovky ) - 2.5 b
  • Zobrazovanie obrazkov ( zobrazenie, prisposobenie velkosti obrazovky ) - 2.5 b
  • Celkovy dojem dizajnu, plynulost aplikacie, funkcnost ovladania, odozva na akcie - 10 bodov

Spolu 40 Bodov ( min. 20 bodov na zapocet )

Ukazka aplikacie Ukazka aplikacie

Prispevok

Prispevok musi obsahovat video/obrazok na celu obrazovku a vlavo dole uzivatelske meno a pod tym datum uverejnenia prispevku.

Ukazka aplikacie

Profil

Profil musi obsahovat pouzivatelske meno, datum a cas registracie, pocet uverejnenych prispevkov .

RecyclerView

Na swipovania medzi prispevkami je potrebne pouzit RecyclerView

Firebase UI

Na zjednodusenie prace s Firebase mozete pouzivat Firebase UI

Firebase Authentication

Na prihlasovanie je povinne pouzit Firebase Authentication

Prihlasovanie musi byt urobene pomocou metody Email/password. Ine metody prihlasovania neimplementujte.

Firebase Crashlytics

Na zaznamenavanie chyb v aplikacii je povinne pouzit Firebase Crashlytics

Povinne automaticke zaznamenavanie vzniknutych chyb pocas behu aplikacie.

Firebase Firestore

Na zaznamenavanie udajov o pouzivatelovi a prispevkoch je povinne pouzit Firebase Firestore

Po registracii NIE JE MOZNE menit uzivatelske meno.

Povinne pouzit nasledovnu schemu ukladania dat.

  • users
    • id dokumentu = user id generovane Firebase Authentication {username: "username", date: "datetime of registered", numberOfPosts: "number of posts"}
  • posts
    • id dokumentu = automaticky vygenerovane Firestorom {type: "image"/"video", videourl: "url of video", imageurl: "url of image", username: "username", date: "datetime of created", userid:"id of user"}

Videa a fotky - Upload

Na upload videi (len .mp4) a obrazkov (len jpeg, png) do velkosti 8MB je povinne pouzivat nasledovny servis.

	HTTP POST REQUEST: http://mobv.mcomputing.eu/upload/index.php
	Form-data typ requestu, s parametrom : "upfile", kde sa odosiela dane video alebo fotka.
	
	HTTP JSON SUCCESS RESPONSE:
	{
    "status": "ok",
    "message": "59feeb832.........30517fb.mp4"
	}
	
	HTTP JSON ERROR RESPONSE:
	{
    "status": "fail",
    "message": "error message"
	}
	
	

Nasledne cesta k videu je : http://mobv.mcomputing.eu/upload/v/59feeb832.........30517fb.mp4

Prehravanie videa

Na prehravanie videi odporucam pouzivat ExoPlayer.


Zobrazovanie obrazkov

Na zobrazovanie obrazkov odporucam pouzivat: