Skip to content

alexandrutrifu/EBanking-Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Proiect POO 2024

Structură

Aplicația a fost modularizată cu ajutorul următoarelor pachete:

  • App

    • EBankingApp, clasa principală a aplicației (Singleton), care se ocupă de inițializarea aplicației și de gestionarea interacțiunii cu utilizatorul
    • AppManager - se ocupă de gestionarea serviciilor aplicației
    • Proxy - interfață ce definește funcționalitatea de logging a acțiunilor efectuate de utilizatorii aplicației, respectiv a erorilor întâmpinate
  • Entities

    • Account
    • User
    • Stock
  • Exceptions - conține excepțiile custom definite în cadrul aplicației

  • Parsers

    • CommandParser - se ocupă de parsarea fișierelor de tip commands.txt
    • ExchangeRatesParser - se ocupă de parsarea fișierelui exchangeRates.csv
  • EntityLister - conține funcționalitățile de listare a informațiilor despre utilizatori și portofoliile acestora

  • PersonalActions // TODO

  • Transactions //TODO

Design Patterns

Singleton

  • folosit pentru crearea unei singure instanțe a clasei App

Proxy

  • folosit pentru a media accesul la serviciile reale ale aplicației (Transaction, PersonalAction)

Observer

  • folosit pentru implementarea funcționalității de notificare a utilizatorilor în cazul în care se modifică starea unui cont

Iterator

  • folosit pentru a itera prin intrările Map-ului asociat prețurilor acțiunilor

Command

  • folosit pentru a separa logica de procesare a comenzilor de interfața cu utilizatorul

Bonus implemented features

  • Logging feature - application logs all the actions performed by the users
  • Transaction history - users can see the history of transactions performed on their accounts
  • Additional error handling - application handles corner cases such as unregistered users, invalid commands, etc.
  • Notifications - users are notified when their account balance is below a certain threshold

About

EBanking Application Model built in the context of my 2nd year OOP university course

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages