Skip to content

The main objective of VideosDB is designing a movie and serial streaming platform, where users might simulate commands specific to this type of interface (rate videos, view videos, get personalized recommendations, etc.). Along the implementation of the program, OOP design concepts were used and input data was parsed using JSONObjects.

Notifications You must be signed in to change notification settings

sorinabuf/VideosDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

********************************************************************************

                            TEMA POO - VIDEOSDB

                            BUF SORINA ANAMARIA

********************************************************************************

	Tema a constat in implementarea unei platforme de filme si seriale in care 
utilizatorii pot simula operatiile specifice unei astfel de interfete.

	Tema este organizata in urmatoarele pachete:

	• actions - contine principalele clase ale programului responsabile cu exe-
				cutarea efectiva a comenzilor care sunt apoi create in main,
				folosindu-se de campurile si metodele database-urilor.

		clase: - Command: executa actiuni de tip command;

			   - Query: executa actiuni de tip query;

			   - Recommendation: executa actiuni de tip recommendation.

	• actor - contine toate clasele specifice entitatii actor.

		clase: - Actor: contine campurile specifice unui actor;

			   - ActorsAwards: clasa enum care contine tipuri generale de premii;

			   - ActorsAwardsSort: comparator utilizat in sortarea unei liste de
			   					   actori dupa un numar de premii si nume;

			   - ActorsFiletersSort: comparator utilizat in sortarea unei liste
			   					     de actori dupa nume;

			   - ActorsRatingsSort: comparator utilizat in sortarea unei liste de
			   						actori dupa rating-ul filmelor in care au apa-
			   						rut si dupa nume;

			   - ActorsDatabase: principala clasa a pachetului care contine cam-
			   					 puri de actori destinate sortarii, create prin 
			   					 intermediul metodelor implementate, care utili-
			   					 zeaza clasele comparator anterior mentionate.

	• checker;

	• common;

	• entertainment - contine toate clasele specifice entitatii video.

		clase: - Genre: clasa enum care contine tipuri de videouri;

			   - Movie: mosteneste clasa Video, avand campuri specifice;

			   - Season: specifica unui serial;

			   - Show: mosteneste clasa Video, avand campuri specifice;

			   - Video: principala entitate, mostenita de Movie si Show, care 
			   			cuprinde campurile comune acestora;

			   - VideosBestUnseenSort: comparator utilizat in sortarea filmelor
			   						   pe baza rating-ului si a ordinii de aparitie
			   						   in baza de date;

			   - VideosNumericalSort: comparator utilizat in sortarea filmelor
			   						  pe baza unor caracteristici numerice intregi;

			   - VideosRatingsSort: comparator utilizat in sortarea videourilor
			   					    pe baza rating-urilor obtinute;

			   - VideosDatabase: principala clasa a pachetului care contine toate
			   				     campurile de videouri destinate sortarii pe baza
			   				     criteriilor mentionate in input, continand metode
			   				     specifice pentru popularea acestor campuri care
			   				     apeleaza comparatorii mentionati anterior, efec-
			   				     tuand parcurgeri si sortari ale database-ului.

	• fileio;

	• main - in cadrul acestui pachet, clasa main apeleaza tipuri de actiuni
			 corespunzatoare input-ului primit, returnand mesaje specifice.

	• setinputdata - in cadrul acestui pachet, clasa SetInputData populeaza 
					 database-urile de actori, videouri si utilizatori pe baza
					 input-ului primit prin intermediul claselor create in
					 pachetul checker.

	• user - contine toate clasele specifice entitatii utilizator.

		clase: - User: contine campurile specifice unui user;

			   - UserRatingSort: comparator care sorteaza lista de utilizatori
			   					 dupa numarul de rating-uri acordate filmelor
			   					 si serialelor si dupa nume;

			   - UsersDatabase: principala clasa a pachetului care contine lista
			   					de utilizatori destinata sortarii conform com-
			   					paratorului mentionat anterior.

    • utils.

    Pentru mai multe detalii legate de implementarea efectiva a metodelor si de
reprezentarea campurilor am adugat comentarii semnificative in cod.

GitHub Repository: https://github.com/sorinabuf/VideosDB.git

About

The main objective of VideosDB is designing a movie and serial streaming platform, where users might simulate commands specific to this type of interface (rate videos, view videos, get personalized recommendations, etc.). Along the implementation of the program, OOP design concepts were used and input data was parsed using JSONObjects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published