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

 
 
 

Contributors

Languages