This shows you the differences between two versions of the page.
poo-ca-cd:teme:2024:proiect-e1 [2024/11/30 18:49] david.capragiu [Proiect Etapa 1 - J. POO Morgan Chase & Co.] |
poo-ca-cd:teme:2024:proiect-e1 [2024/12/10 18:46] (current) david.capragiu [Proiect Etapa 1 - J. POO Morgan Chase & Co.] |
||
---|---|---|---|
Line 6: | Line 6: | ||
* Consultant & Revisor: [[sorinabuf@gmail.com | Sorina-Anamaria Buf ]] | * Consultant & Revisor: [[sorinabuf@gmail.com | Sorina-Anamaria Buf ]] | ||
* Data publicării: 22 noiembrie, ora 13:30 | * Data publicării: 22 noiembrie, ora 13:30 | ||
- | * Deadline HARD: 16 decembrie, ora 23:59 | + | * Deadline HARD: 19 decembrie, ora 23:59 |
- | * Ultimele modificări: | + | * Ultimele modificari ale enuntului: |
+ | * Modificare deadline HARD - 9 Dec. 2024 | ||
+ | * Detalierea folosirii conceptelor OOP - 30 Nov. 2024 | ||
+ | * Corectarea modelului de input pentru comanda de setare a balantei minime - 2 Dec. 2024 | ||
+ | * Adaugarea unei clarificari pentru cardurile One Time Pay - 5 Dec. 2024 | ||
+ | * Clarificarea raportului de cheltuiele - 10 Dec. 2024 | ||
+ | * Ultimele modificări ale scheletului: | ||
* Actualizare referințe (sortare tranzacții după timestamp, adăugare spendingReport în teste) | * Actualizare referințe (sortare tranzacții după timestamp, adăugare spendingReport în teste) | ||
* Actualizare referinte (deleteAccount nu stergea contul daca nu avea asociate carduri, actualizare output pentru deleteAccount, aparitia neasteptata a unui output de min balance chiar daca nu se folosea comanda ) - 27 Nov. 2024 | * Actualizare referinte (deleteAccount nu stergea contul daca nu avea asociate carduri, actualizare output pentru deleteAccount, aparitia neasteptata a unui output de min balance chiar daca nu se folosea comanda ) - 27 Nov. 2024 | ||
* Actualizare inputs/refs pentru comenzi de tip ”setAlias” - 28 Nov. 2024 | * Actualizare inputs/refs pentru comenzi de tip ”setAlias” - 28 Nov. 2024 | ||
+ | * Actualizare refs (T17-T20) - 4 Dec. 2024 | ||
+ | * Actualizare checker pentru a nu verifica zecimale "la perfectie" - 4 Dec. 2024 | ||
+ | * Actualizare refs pentru teste split payments (T14, T18, T19, T20) - rezultatele erau corecte doar daca se facea conversia in sens invers | ||
+ | * Actualizare refs pentru afisarea erorilor din spendingsReports (T19, T20) - 5 Dec. 2024 | ||
+ | * Actualizare input/ref pt T17 ( verificare mai amanuntita a raportului ) - 7 Dec. 2024 | ||
+ | * Update checker pentru permisivitatea verificarii zecimalelor din stringuri - 10 Dec. 2024 (FINAL) | ||
<note important>Pentru orice neclaritate vă rugăm să folosiți forumul, urmând ca **doar responsabilii** temei să vă răspundă la întrebări. Se preferă folosirea forumului tocmai pentru a evita repetarea întrebărilor.</note> | <note important>Pentru orice neclaritate vă rugăm să folosiți forumul, urmând ca **doar responsabilii** temei să vă răspundă la întrebări. Se preferă folosirea forumului tocmai pentru a evita repetarea întrebărilor.</note> | ||
Line 16: | Line 28: | ||
<note important> | <note important> | ||
Aceasta tema evalueaza cunostintele dobandite pana la labul 6. Puteti folosi si cunostinte acumulate dupa aceste laburi. Pentru a lua punctaj maxim este nevoie sa folositi un stil de programare OOP in care sa va creati entitati, lanturi ierarhice, relatii intre entitati si sa folositi mecanisme OOP studiate la lab. Aceste concepte trebuie aplicate cu rost, deoarece corectura nu urmareste sa aveti un anumit numar din fiecare concept ci urmareste sa folositi cat mai multe concepte POO cu sens, astfel ca nu exista o singura solutie de 100p pentru aceste teme. | Aceasta tema evalueaza cunostintele dobandite pana la labul 6. Puteti folosi si cunostinte acumulate dupa aceste laburi. Pentru a lua punctaj maxim este nevoie sa folositi un stil de programare OOP in care sa va creati entitati, lanturi ierarhice, relatii intre entitati si sa folositi mecanisme OOP studiate la lab. Aceste concepte trebuie aplicate cu rost, deoarece corectura nu urmareste sa aveti un anumit numar din fiecare concept ci urmareste sa folositi cat mai multe concepte POO cu sens, astfel ca nu exista o singura solutie de 100p pentru aceste teme. | ||
+ | |||
+ | Totodata, aceasta tema urmareste sa va testeze cunostintele legate de design pattern-uri, deci o cerinta este sa folositi unul din dp-urile studiate pana la labul 6 inclusiv (sau alte dp-uri studiate in timpul vostru) pentru a lua punctaj maxim. | ||
</note> | </note> | ||
===== Introducere ===== | ===== Introducere ===== | ||
Line 118: | Line 132: | ||
Aceste categorii vor conține de asemenea și o listă de comercianți asociată pentru a putea genera un raport într-o cerință detaliată în secțiunea sa aferentă. | Aceste categorii vor conține de asemenea și o listă de comercianți asociată pentru a putea genera un raport într-o cerință detaliată în secțiunea sa aferentă. | ||
- | |||
- | <spoiler Click aici pentru a vedea formatul datelor despre comercianți> | ||
- | <code json> | ||
- | [ | ||
- | { | ||
- | "id": 1, | ||
- | "description": "Tech", | ||
- | "commerciants": ["Apple", "Samsung", "Microsoft", "Amazon"] | ||
- | }, | ||
- | { | ||
- | "id": 2, | ||
- | "description": "Food", | ||
- | "commerciants": ["McDonalds", "KFC", "Burger King"] | ||
- | }, | ||
- | { | ||
- | "id": 3, | ||
- | "description": "Clothes", | ||
- | "commerciants": ["Zara", "H&M", "Nike"] | ||
- | } | ||
- | ] | ||
- | </code> | ||
- | </spoiler> | ||
===== Comenzile de debug ==== | ===== Comenzile de debug ==== | ||
Line 329: | Line 321: | ||
<note important> | <note important> | ||
Dacă utilizatorul nu este proprietarul contului, se va adăuga o tranzacție specifică care semnalează acest lucru. | Dacă utilizatorul nu este proprietarul contului, se va adăuga o tranzacție specifică care semnalează acest lucru. | ||
+ | </note> | ||
+ | |||
+ | <note important> | ||
+ | Dupa ce se face o plata cu cu un astfel de card, **se va genera alt card** in locul acestuia! | ||
</note> | </note> | ||
==== Ștergerea unui cont al unui utilizator ==== | ==== Ștergerea unui cont al unui utilizator ==== | ||
Line 388: | Line 384: | ||
Datele comenzii vor fi: | Datele comenzii vor fi: | ||
* **command** (String) - “setMinBalance” - numele comenzii | * **command** (String) - “setMinBalance” - numele comenzii | ||
- | * **minBalance** (double) - limita ce trebuie asociată contului | + | * **amount** (double) - limita ce trebuie asociată contului |
* **account** (String) - IBAN-ul contului | * **account** (String) - IBAN-ul contului | ||
* **timestamp** (int) - momentul solicitării comenzii | * **timestamp** (int) - momentul solicitării comenzii | ||
Line 404: | Line 400: | ||
{ | { | ||
"command": "setMinBalance", | "command": "setMinBalance", | ||
- | "minBalance": 45.5, | + | "amount": 45.5, |
"account": "RO58POOB7344468893732422", | "account": "RO58POOB7344468893732422", | ||
"timestamp": 2 | "timestamp": 2 | ||
Line 573: | Line 569: | ||
După cum ați observat până acum, fiecare plată cu cardul va avea asociată un comerciant. | După cum ați observat până acum, fiecare plată cu cardul va avea asociată un comerciant. | ||
- | Toți comercianții care vor fi prezenți în tranzacțiile cu cardul vor face parte dintr-o categorie. | + | Toți comercianții care vor fi prezenți în tranzacțiile cu cardul vor face parte dintr-o categorie |
- | Categoriile din care fac parte aceste le veți putea observa în fișierele de input. | + | Pe baza acestor comercianti, vom putea extrage un raport de cheltuieli al contului într-un interval de timp care ne indica sumele cheltuite catre fiecare. |
- | <spoiler Click aici pentru a vedea cum arată datele despre comercianți> | + | <note important> |
- | <code json> | + | Ordinea aparitiei comerciantilor in continutul raportului este **alfabetica**! |
- | [ | + | </note> |
- | { | + | |
- | "id": 1, | + | |
- | "description": "Tech", | + | |
- | "commerciants": ["Apple", "Samsung", "Microsoft", "Amazon"] | + | |
- | }, | + | |
- | { | + | |
- | "id": 2, | + | |
- | "description": "Food", | + | |
- | "commerciants": ["McDonalds", "KFC", "Burger King"] | + | |
- | }, | + | |
- | { | + | |
- | "id": 3, | + | |
- | "description": "Clothes", | + | |
- | "commerciants": ["Zara", "H&M", "Nike"] | + | |
- | } | + | |
- | ] | + | |
- | </code> | + | |
- | </spoiler> | + | |
- | + | ||
- | Pe baza acestor ”categorii”, vom putea extrage un raport de cheltuieli al contului per fiecare categorie într-un interval de timp. | + | |
Mai pe scurt, vei putea vedea cât de mulți bani spargi lunar pe pateu și pâine. 8-o | Mai pe scurt, vei putea vedea cât de mulți bani spargi lunar pe pateu și pâine. 8-o |