This shows you the differences between two versions of the page.
poo-ca-cd:teme:proiect:etapa2 [2023/11/28 02:20] rares.constantin02 |
poo-ca-cd:teme:proiect:etapa2 [2023/12/08 17:11] (current) rares.constantin02 [Proiect GlobalWaves - Etapa 2 - Pagination] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | <hidden> | + | ====== Proiect GlobalWaves - Etapa 2 - Pagination ====== |
- | + | ||
- | ====== Proiect GlobalWaves - Etapa 2 - Audio Player ====== | + | |
{{:poo-ca-cd:teme:proiect:poo_baner_etapa_2.png?nolink&800|}} | {{:poo-ca-cd:teme:proiect:poo_baner_etapa_2.png?nolink&800|}} | ||
Line 8: | Line 6: | ||
* **Responsabili:** [[rares.constantin2002@gmail.com | Rareș Constantin]], [[alex24marinescu@gmail.com| Alexandru Marinescu]] | * **Responsabili:** [[rares.constantin2002@gmail.com | Rareș Constantin]], [[alex24marinescu@gmail.com| Alexandru Marinescu]] | ||
* **Colaboratori:** [[sorinabuf@gmail.com | Sorina-Anamaria Buf]], [[stefancocioran@gmail.com | Ștefan Cocioran]], [[miculuis1@gmail.com | Florian-Luis Micu]] | * **Colaboratori:** [[sorinabuf@gmail.com | Sorina-Anamaria Buf]], [[stefancocioran@gmail.com | Ștefan Cocioran]], [[miculuis1@gmail.com | Florian-Luis Micu]] | ||
- | * **Data publicarii: ** 20.11.2023, ora 23:00 | + | * **Data publicarii: ** 28.11.2023, ora 12:00 |
- | * **Deadline HARD: ** TBD | + | * **Deadline HARD: ** 15.12.2023, ora 23:55 |
- | * **Ultima modificare a cerinței: ** TBD | + | * **Ultima modificare a cerinței: ** 08.12.2023, ora 17:10 - corectare output printCurrentPage pentru Host Page |
- | * **Ultima modificare a scheletului: ** TBD | + | * **Ultima modificare a scheletului: ** 05.12.2023, ora 13:30 - update checkstyle 0 errors |
- | * **Ultima modificare a testelor: ** TBD | + | * **Ultima modificare a testelor: ** 04.12.2023, ora 21:15 - update ref test09, test15, test16 |
- | * ** Schelet: ** TBD | + | * ** Schelet: ** https://github.com/oop-pub/oop-project-2023/tree/main/etapa2 |
* **Atenție!** Pentru partea de citire / afișare nu este necesară folosirea adnotărilor din librăria Jackson. Puteți utiliza o metodă similară cu cea prezentată de noi în schelet, și anume să vă folosiți de clasa ObjectMapper. **Nu există o metodă corectă sau greșită de a lucra cu input-ul / output-ul.** Scopul nostru în cadrul acestui proiect nu este să vă testăm abilitatea de a lucra cu fișierele, ci să vă testăm atât înțelegerea cunoștințelor de bază dobândite în cadrul cursurilor și a laboratoarelor, cât și modul de gândire într-un limbaj de programare orientat obiect. | * **Atenție!** Pentru partea de citire / afișare nu este necesară folosirea adnotărilor din librăria Jackson. Puteți utiliza o metodă similară cu cea prezentată de noi în schelet, și anume să vă folosiți de clasa ObjectMapper. **Nu există o metodă corectă sau greșită de a lucra cu input-ul / output-ul.** Scopul nostru în cadrul acestui proiect nu este să vă testăm abilitatea de a lucra cu fișierele, ci să vă testăm atât înțelegerea cunoștințelor de bază dobândite în cadrul cursurilor și a laboratoarelor, cât și modul de gândire într-un limbaj de programare orientat obiect. | ||
+ | |||
+ | <note important> | ||
+ | Dacă decideți să folosiți Generative AI (ex. ChatGPT) pentru implementare sau alte aspecte ale codului, treceți în README exact unde ați folosit această metodă. | ||
+ | |||
+ | De asemenea, scrieți în README și dacă ați folosit ca schelet rezolvarea oficială a etapei I. | ||
+ | </note> | ||
====== Obiective ====== | ====== Obiective ====== | ||
Line 137: | Line 141: | ||
* Host page | * Host page | ||
- | Podcasts:\n\t[podcastname1:\n\t[episodenam1 - episodedescription1, episodenam2 - episodedescription2, ... ], ...]\n\nAnnouncements\n\t[announcementname1 - announcementdescription1, announcementname2 - announcementdescription2, ...] | + | Podcasts:\n\t[podcastname1:\n\t[episodename1 - episodedescription1, episodename2 - episodedescription2, ... ], ...]\n\nAnnouncements\n\t[announcementname1\n\tannouncementdescription1\n, announcementname2\n\tannouncementdescription2\n, ...] |
<spoiler Click pentru input printCurrentPage> | <spoiler Click pentru input printCurrentPage> | ||
Line 174: | Line 178: | ||
* album | * album | ||
- | **Albumul** este o colecție de melodii (Song) creată de către un artist. Utilizatorii normali pot doar să caute albume. Melodiile nu pot fi adăugate în cadrul aplicației în afara unui album. | + | **Albumul** este o colecție de melodii (Song) creată de către un artist. Utilizatorii normali pot să caute și să asculte albume, prin funcțiile de select și load. Melodiile nu pot fi adăugate în cadrul aplicației în afara unui album. |
====== Recapitulare Entități ====== | ====== Recapitulare Entități ====== | ||
Line 473: | Line 477: | ||
=== RemoveAlbum === | === RemoveAlbum === | ||
- | Un artist poate șterge unul din albumurile sale. În cazul în care există un album cu acel nume, acesta va putea fi șters dacă nu există niciun utilizator normal care să aibă albumul sau o melodie din acesta loaded (nu se ia în considerare dacă utilizatorul doar se află pe pagina artistului). | + | Un artist poate șterge unul din albumurile sale. În cazul în care există un album cu acel nume, acesta va putea fi șters dacă nu există niciun utilizator normal care să aibă albumul sau o melodie din acesta loaded (nu se ia în considerare dacă utilizatorul doar se află pe pagina artistului) sau un playlist care să conțină o melodie din album. |
Mesaje posibile pentru această comandă: | Mesaje posibile pentru această comandă: | ||
Line 801: | Line 805: | ||
==== getTop5Albums ==== | ==== getTop5Albums ==== | ||
- | Această comandă va afișa numele celor mai apreciate 5 albume din aplicație în funcție de numărul de like-uri. Numărul de like-uri ale unui album este considerat ca fiind suma tuturor like-urilor melodiilor din acel album. În cazul în care sunt mai puțin de 5 albume, se vor afișa toate. | + | Această comandă va afișa numele celor mai apreciate 5 albume din aplicație în funcție de numărul de like-uri. Numărul de like-uri ale unui album este considerat ca fiind suma tuturor like-urilor melodiilor din acel album. În cazul în care sunt mai puțin de 5 albume, se vor afișa toate. În cazul în care sunt două albume cu număr egal de like-uri, se va afișa în ordine lexicografică. |
<spoiler Click pentru input getTop5Albums> | <spoiler Click pentru input getTop5Albums> | ||
Line 937: | Line 941: | ||
Este obligatoriu să folosiți cel puțin un design pattern din cele învățate la laborator, depunctarea este de 10 puncte în caz contrar! | Este obligatoriu să folosiți cel puțin un design pattern din cele învățate la laborator, depunctarea este de 10 puncte în caz contrar! | ||
</note> | </note> | ||
+ | |||
+ | <note important> | ||
+ | Dacă decideți să folosiți Generative AI (ex. ChatGPT) pentru implementare sau alte aspecte ale codului, treceți în README exact unde ați folosit această metodă. | ||
+ | |||
+ | De asemenea, scrieți în README și dacă ați folosit ca schelet rezolvarea oficială a etapei I. | ||
+ | </note> | ||
+ | |||
<note tip>Pentru folosirea tool-ului **Git** vă punem la dispoziție un tutorial actualizat și amplu despre el la acest [[poo-ca-cd:resurse-utile:tutorial-git|link]] și aveți de asemenea și un tutorial despre comenzile pe care puteți să le dați din IntelliJ la acest [[poo-ca-cd:resurse-utile:tutorial-intellij-git|link]].</note> | <note tip>Pentru folosirea tool-ului **Git** vă punem la dispoziție un tutorial actualizat și amplu despre el la acest [[poo-ca-cd:resurse-utile:tutorial-git|link]] și aveți de asemenea și un tutorial despre comenzile pe care puteți să le dați din IntelliJ la acest [[poo-ca-cd:resurse-utile:tutorial-intellij-git|link]].</note> | ||
Line 979: | Line 990: | ||
====== Resurse și linkuri utile ====== | ====== Resurse și linkuri utile ====== | ||
- | * [[ https://github.com/oop-pub/oop-project-2023/tree/main/etapa1 | Schelet de cod]] | + | * [[ https://github.com/oop-pub/oop-project-2023/tree/main/etapa2 | Schelet de cod]] |
* [[poo-ca-cd:administrativ:barem_teme|Indicații pentru teme]] | * [[poo-ca-cd:administrativ:barem_teme|Indicații pentru teme]] | ||
* [[poo-ca-cd:administrativ:coding_style_ide|Recomandări coding style & javadoc]] | * [[poo-ca-cd:administrativ:coding_style_ide|Recomandări coding style & javadoc]] | ||
- | |||
- | </hidden> | ||