This shows you the differences between two versions of the page.
poo-ca-cd:teme:proiect:etapa1 [2023/11/11 18:58] andrei.otetea [Proiect GlobalWaves - Etapa 1 - Audio Player] |
poo-ca-cd:teme:proiect:etapa1 [2023/11/24 21:25] (current) andrei.otetea [Proiect GlobalWaves - Etapa 1 - Audio Player] |
||
---|---|---|---|
Line 7: | Line 7: | ||
* **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: ** 05.11.2023, ora 23:00 | * **Data publicarii: ** 05.11.2023, ora 23:00 | ||
- | * **Deadline HARD: ** 20.11.2023, ora 23:59 | + | * **Deadline HARD: ** 25.11.2023, ora 7:59 |
- | * **Ultima modificare a cerinței: ** 11.11.2023, ora 19:00 | + | * **Ultima modificare a cerinței: ** 14.11.2023, ora 19:00 (clarificari extra next) |
* **Ultima modificare a scheletului: ** 07.11.2023, ora 17:27 (am adaugat un comentariu de TODO ca sa stiti de unde incepe implementarea) | * **Ultima modificare a scheletului: ** 07.11.2023, ora 17:27 (am adaugat un comentariu de TODO ca sa stiti de unde incepe implementarea) | ||
- | * **Ultima modificare a testelor: ** 11.11.2023, ora 17:00 | + | * **Ultima modificare a testelor: ** 14.11.2023, ora 10:30 (cateva ref-uri modificate minimal testele 16, 17) |
* ** Schelet: ** [[https://github.com/oop-pub/oop-project-2023/tree/main/etapa1]] | * ** Schelet: ** [[https://github.com/oop-pub/oop-project-2023/tree/main/etapa1]] | ||
+ | |||
+ | |||
+ | * ** Atentie! ** Pentru partea de citire / afisare nu este necesara folosirea adnotarilor din libraria Jackson. Puteti utiliza o metoda similara cu cea prezentata de noi in schelet, si anume sa va folositi de clasa ObjectMapper. **Nu exista o metoda corecta sau gresita de a lucra cu input-ul / output-ul.** Scopul nostru in cadrul acestui proiect nu este sa va testam abilitatea de a lucra cu fisierele, ci sa va testam atat intelegerea cunostintelor de baza dobandite in cadrul cursurilor si a laboratoarelor, cat si modul de gandire intr-un limbaj de programare orientat obiect. | ||
====== Obiective ====== | ====== Obiective ====== | ||
Line 129: | Line 132: | ||
* by name -> se verifica dacă numele melodiei incepe cu textul specificat in filtru | * by name -> se verifica dacă numele melodiei incepe cu textul specificat in filtru | ||
* by album -> se da tot numele albmului si trebuie verificat daca melodia face parte din acel album | * by album -> se da tot numele albmului si trebuie verificat daca melodia face parte din acel album | ||
- | * by tags -> se va da o lista cu tag-uri si trebuie ca unul sau mai multe dintre tag-uri sa fie prezente in melodie | + | * by tags -> se va da o lista cu tag-uri si trebuie ca melodia sa aiba toate tag-urile specificate |
* by lyrics -> se va da un cuvant sau o fraza; melodia trebuie sa contina respectivul sir ce caractere | * by lyrics -> se va da un cuvant sau o fraza; melodia trebuie sa contina respectivul sir ce caractere | ||
* by genre -> se va specifica un gen muzical; se verifică dacă melodia face parte din acel gen muzical | * by genre -> se va specifica un gen muzical; se verifică dacă melodia face parte din acel gen muzical | ||
Line 177: | Line 180: | ||
De asemenea, căutarea se face din perspectiva utilizatorului, ceea ce înseamnă că 2 utilizatori pot avea rezultate diferite atunci când caută ceva. | De asemenea, căutarea se face din perspectiva utilizatorului, ceea ce înseamnă că 2 utilizatori pot avea rezultate diferite atunci când caută ceva. | ||
+ | <note important> | ||
+ | |||
+ | Cand se ruleaza acesta comanda, se scoate sursa care era incarcata in player. Astfel, dupa un search, indiferent de rezultatul returnat de acesta, player-ul nu mai ruleaza nimic. | ||
+ | |||
+ | </note> | ||
Line 574: | Line 582: | ||
Această comandă poate fi rulată doar după ce utilizatorul a dat comanda load. | Această comandă poate fi rulată doar după ce utilizatorul a dat comanda load. | ||
+ | |||
+ | </note> | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Dacă după ce dați next nu mai aveți niciun track de rulat, se dă mesajul: **Please load a source before skipping to the next track.**. | ||
</note> | </note> | ||
Line 679: | Line 693: | ||
Această comandă poate fi rulată doar după ce utilizatorul a dat comanda load. | Această comandă poate fi rulată doar după ce utilizatorul a dat comanda load. | ||
+ | |||
+ | </note> | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Garantam ca aceasta comanda nu va fi rulata de un utilizator pe un playlist pe care il are incarcat in player. | ||
</note> | </note> | ||
Line 968: | Line 988: | ||
<note warning> | <note warning> | ||
- | * După ce clonați repo-ul de pe GitHub, vă rugăm să vă faceți un repository propriu privat în care să vă puneți doar conținutul folder-ului **"tema"** de pe repo-ul echipei de POO. Dacă nu puneți folder-ul cu tema la alta cale, **nu o să puteți** să faceți schimbări in Git, deoarece vă aflați în rădăcina repository-ului echipei de POO. | + | * După ce clonați repo-ul de pe GitHub, vă rugăm să vă faceți un repository propriu privat în care să vă puneți doar conținutul folder-ului **"etapa1"** de pe repo-ul echipei de POO. Dacă nu puneți folder-ul cu tema la alta cale, **nu o să puteți** să faceți schimbări in Git, deoarece vă aflați în rădăcina repository-ului echipei de POO. |
* Pentru ca checker-ul să funcționeze trebuie să deschideți tema din Intellij la calea unde se află folderele **"src"**, **"lib"**, **"ref"**, **"input"**. Aveți folder-ul **.idea** pregenerat ca să vă ajute in acest sens. De asemenea, fișier-ul **.iml** contine calea către bibliotecile Jackson. Dacă aveți probleme stergeți folder-ul .idea si fișierul .iml si generațile voi din nou din Intellij. | * Pentru ca checker-ul să funcționeze trebuie să deschideți tema din Intellij la calea unde se află folderele **"src"**, **"lib"**, **"ref"**, **"input"**. Aveți folder-ul **.idea** pregenerat ca să vă ajute in acest sens. De asemenea, fișier-ul **.iml** contine calea către bibliotecile Jackson. Dacă aveți probleme stergeți folder-ul .idea si fișierul .iml si generațile voi din nou din Intellij. | ||
* **Citirea comenzilor si afisarea rezultatelor trebuie facuta de voi!!!** | * **Citirea comenzilor si afisarea rezultatelor trebuie facuta de voi!!!** |