Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-ca-cd:teme:2024:proiect-etapa2 [2025/01/11 12:35]
ioana.tudorache2507 [Comenzile de la etapa 1]
poo-ca-cd:teme:2024:proiect-etapa2 [2025/01/20 13:27] (current)
ioana.tudorache2507 [Proiect Etapa 2 - J. POO Morgan Chase & Co.]
Line 6: Line 6:
   * Consultant & Revisor: ​ [[stefancocioran@gmail.com | Stefan Cocioran ]]   * Consultant & Revisor: ​ [[stefancocioran@gmail.com | Stefan Cocioran ]]
   * Data publicării:​ 17 decembrie, ora 10:34   * Data publicării:​ 17 decembrie, ora 10:34
-  * Deadline HARD: 15 ianuarie, ora 23:59+  * Deadline HARD: 21 ianuarie, ora 10:00 dimineața
   * Ultimele modificări:​   * Ultimele modificări:​
      * Publicare schelet - 20 Dec. 2024      * Publicare schelet - 20 Dec. 2024
Line 14: Line 14:
      * Actualizat teste - 05 Ian. 2025      * Actualizat teste - 05 Ian. 2025
      * Actualizat enunț și ref-uri pentru t14 si t18-20 pentru cazul unui asociat cu 2 roluri - 11 Ian. 2025      * Actualizat enunț și ref-uri pentru t14 si t18-20 pentru cazul unui asociat cu 2 roluri - 11 Ian. 2025
 +     * Actualizat DEADLINE HARD - 11 Ian. 2025
 +     * Publicare soluție oficială pentru etapa 1 în secțiunea resurse - 14 Ian. 2025
  
  
Line 21: Line 23:
 **Este obligatoriu să folosiți cel puțin 4 design pattern-uri.** Trebuie sa precizati in README ce design pattern ati folosit, si motivatia & locatia unde a fost folosita</​note>​ **Este obligatoriu să folosiți cel puțin 4 design pattern-uri.** Trebuie sa precizati in README ce design pattern ati folosit, si motivatia & locatia unde a fost folosita</​note>​
  
-<note important>​**Depunctari lipsa design pattern-uri**:​ Pentru fiecare design pattern lipsa (din cele 4), veti avea o depunctare de -2.5p, astfel pentru: +<note important>​**Depunctari lipsa design pattern-uri**:​ Pentru fiecare design pattern lipsa (din cele 4), veti avea o depunctare de -2.5p din 10p (maxim cat se poate obtine pe tema fara bonusuri), astfel pentru: 
-  * 0 design pattern-uri - -10p +  * 0 design pattern-uri - -10p / 10p 
-  * 1 design pattern-uri - -7.5p +  * 1 design pattern-uri - -7.5p / 10p 
-  * 2 design pattern-uri - -5p +  * 2 design pattern-uri - -5p / 10p 
-  * 3 design pattern-uri - -2.5p+  * 3 design pattern-uri - -2.5p / 10p
 </​note>​ </​note>​
  
Line 160: Line 162:
  
 Fiecare comerciant vrea să atragă cât mai mulți clienți, așa că introduce strategia de cashback. Cu cât cheltui mai mult, cu atât câștigi mai mult înapoi 🤑. Fiecare comerciant vrea să atragă cât mai mulți clienți, așa că introduce strategia de cashback. Cu cât cheltui mai mult, cu atât câștigi mai mult înapoi 🤑.
 +
 +
 +<note important>​**Cashback-ul este calculat SEPARAT PER FIECARE CONT al utilizatorului** - fiecare cont va avea o //lista cu discounturile//​ primite de la comerciantii de tip //​nrOfTransactions (Food, Clothes, Tech)// si o //suma totala de cheltuieli//​ pentru comerciantii de tip //​spendingThreshold//​.</​note>​
  
 Un comerciant poate să aleagă unul din următoarele planuri de cashback: ​ Un comerciant poate să aleagă unul din următoarele planuri de cashback: ​
Line 172: Line 177:
  
 <note important>​Cashback-ul pentru categoriile de Food, Clothes si Tech poate fi folosit **pentru ORICE tip de comerciant** - spendingThreshold sau nrOfTransactions - atata timp cat** face parte din una din categoriile mentionate**.</​note>​ <note important>​Cashback-ul pentru categoriile de Food, Clothes si Tech poate fi folosit **pentru ORICE tip de comerciant** - spendingThreshold sau nrOfTransactions - atata timp cat** face parte din una din categoriile mentionate**.</​note>​
 +
 +<​note>​Exemplu suplimentar pentru un utilizator ce are 2 conturi - cont1 si cont2\\
 +
 +card1, cont1 - discounts = {Food}\\
 +card2, cont2 - discounts = {Food, Clothes}\\
 + 
 +se face plata la KFC cu card1 -> se face discount \\
 +se face plata la KFC cu card1 -> NU se face discount pt ca nu mai am niciun fel de discount\\
 +se face plata la Zara cu card2 -> se face discount \\
 +se face plata la KFC cu card2 -> se face discount \\
 +se face plata la KFC cu card2 ->  NU se face discount pt ca nu mai am niciun fel de discount</​note>​
  
 Se contorizează numărul de tranzacții de la fiecare comerciant de acest tip în ordinea în care se primesc comenzile de plată cu cardul sau transfer bancar. În momentul în care se atinge unul dintre pragurile pentru numărul de tranzacții,​ atunci se va primi cashbackul aferent. Se contorizează numărul de tranzacții de la fiecare comerciant de acest tip în ordinea în care se primesc comenzile de plată cu cardul sau transfer bancar. În momentul în care se atinge unul dintre pragurile pentru numărul de tranzacții,​ atunci se va primi cashbackul aferent.
Line 199: Line 215:
 Cashback-ul se va primi la tranzacția curentă pentru care s-a îndeplinit unul din pragurile precizate anterior. Cashback-ul se va primi la tranzacția curentă pentru care s-a îndeplinit unul din pragurile precizate anterior.
 \\ \\
 +
 +<​note>​Exemplu suplimentar pentru un utilizator ce are 2 conturi - acc1 si acc2 \\
 +\\
 +card1, acc1 -> total1\\
 +card2, acc2 -> total2\\
 + \\
 +se face plata cu card1 -> total1 + amount\\
 +se face plata cu card2 -> total2 + amount\\
 +</​note>​
  
 <note important>​Se aplica cashback de fiecare dată când se îndeplinește una din condiții.</​note>​ <note important>​Se aplica cashback de fiecare dată când se îndeplinește una din condiții.</​note>​
Line 210: Line 235:
  
 <note important>​Tipurile de tranzacții pentru care se aplica cashback sunt **plățile online** și **transferurile bancare către comercianți**.</​note>​ <note important>​Tipurile de tranzacții pentru care se aplica cashback sunt **plățile online** și **transferurile bancare către comercianți**.</​note>​
- 
-<note important>​**Cashback-ul este calculat SEPARAT PER FIECARE CONT al utilizatorului** - fiecare cont va avea o //lista cu discounturile//​ primite de la comerciantii de tip //​nrOfTransactions (Food, Clothes, Tech)// si o //suma totala de cheltuieli//​ pentru comerciantii de tip //​spendingThreshold//​.</​note>​ 
  
 <note important>​**Toate tranzacțiile în orice currency vor fi luate în considerare pentru cashback** și suma totală va fi convertită in RON. <note important>​**Toate tranzacțiile în orice currency vor fi luate în considerare pentru cashback** și suma totală va fi convertită in RON.
Line 390: Line 413:
   * **employee**   * **employee**
     * poate să efectueze plăți - plăți cu cardul sau transfer bancar - în limita la 500RON inițial     * poate să efectueze plăți - plăți cu cardul sau transfer bancar - în limita la 500RON inițial
 +    * poate să depună bani în contul de business în limita la 500RON inițial
     * poate să creeze carduri și să le șteargă doar pe cele create de el     * poate să creeze carduri și să le șteargă doar pe cele create de el
     * poate sa faca plati cu orice fel de card     * poate sa faca plati cu orice fel de card
Line 476: Line 500:
  
 Mesaje posibile pentru această comandă: Mesaje posibile pentru această comandă:
-  * "You are not authorized to make this transaction.+  * "You are not authorized to make this transaction."
   * "The user is already an associate of the account."​   * "The user is already an associate of the account."​
 +  * "User not found"
  
 \\ \\
Line 665: Line 690:
   * "​Account ​ **${accounts[current_index]}** has insufficient funds for a split payment."​ -> //se ia primul cont găsit că are fonduri insuficiente pentru plata distribuită//​   * "​Account ​ **${accounts[current_index]}** has insufficient funds for a split payment."​ -> //se ia primul cont găsit că are fonduri insuficiente pentru plata distribuită//​
   * "One user rejected the payment."​ -> //cand unul din utilizatori a dat reject la plata//   * "One user rejected the payment."​ -> //cand unul din utilizatori a dat reject la plata//
 +  * "User not found" ​
  
 \\ \\
Line 906: Line 932:
 ===== Resurse și linkuri utile ===== ===== Resurse și linkuri utile =====
  
-  * [[https://​github.com/​oop-pub/​oop-asignments/​tree/​master/​teme/​J-POO-Morgan-Proiect-2|Schelet de cod]]+  * [[https://​github.com/​oop-pub/​oop-asignments/​tree/​master/​teme/​J-POO-Morgan-Proiect-1/skel|Schelet de cod]] 
 +  * [[https://​github.com/​oop-pub/​oop-asignments/​tree/​master/​teme/​J-POO-Morgan-Proiect-1/​solution|Soluție oficială etapa 1]]
   * [[https://​curs.upb.ro/​2024/​mod/​forum/​view.php?​id=86305|Forum]]   * [[https://​curs.upb.ro/​2024/​mod/​forum/​view.php?​id=86305|Forum]]
   * [[https://​curs.upb.ro/​2024/​mod/​assign/​view.php?​id=69287|Vmchecker Next]]   * [[https://​curs.upb.ro/​2024/​mod/​assign/​view.php?​id=69287|Vmchecker Next]]
poo-ca-cd/teme/2024/proiect-etapa2.1736591705.txt.gz · Last modified: 2025/01/11 12:35 by ioana.tudorache2507
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0