{"id":19321554,"url":"https://github.com/bishalpaudel/finco","last_synced_at":"2026-06-13T18:34:57.158Z","repository":{"id":73775945,"uuid":"86851004","full_name":"bishalpaudel/FinCo","owner":"bishalpaudel","description":"A simple framework that provides abstraction for financial applications such as bank or credit card applications.","archived":false,"fork":false,"pushed_at":"2017-04-10T02:17:55.000Z","size":489,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T05:30:42.665Z","etag":null,"topics":["abstract-factory-pattern","account-pattern","command-pattern","design-patterns","java-8","observer-pattern","party-pattern","singleton-pattern","strategy-pattern"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bishalpaudel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-31T18:56:19.000Z","updated_at":"2019-09-06T02:13:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"bea0f04c-8952-4399-b649-46fb73f54184","html_url":"https://github.com/bishalpaudel/FinCo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bishalpaudel/FinCo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FFinCo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FFinCo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FFinCo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FFinCo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bishalpaudel","download_url":"https://codeload.github.com/bishalpaudel/FinCo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FFinCo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34296377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abstract-factory-pattern","account-pattern","command-pattern","design-patterns","java-8","observer-pattern","party-pattern","singleton-pattern","strategy-pattern"],"created_at":"2024-11-10T01:38:13.165Z","updated_at":"2026-06-13T18:34:57.141Z","avatar_url":"https://github.com/bishalpaudel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Title\n\nFinancial Framework\n\n## Project Description\n\nA simple framework that provides abstraction for financial applications such as bank or credit card applications. The UML design is under UML folder. The design provides more details on the struture of the framework.\n\n## Getting Started\n\nTo run this project, simply clone the repository and run `FinCo.java`.\n\n### Prerequisites\n\n* Java 8\n\n### Design Patterns used\n\n#### Abstract Factory Pattern (GoF)\nAbstract factory pattern is used for the instantiation of a set of dependent group of objects to achieve inversion of control (IOC) for the framework. Abstract factory pattern is used to inject dependencies (DI) for different customers, accounts, and DAOs.\n\n#### Singleton Pattern (GoF)\nSingleton pattern is used to hold single instances of DAO, Factory and Customer.\n\n#### Party Pattern (Explained by Martin Fowler)\nThis pattern provides the single abstraction of customer for person and organization as a Party.\n\n#### Account Pattern (Explained by Martin Fowler)\nThis pattern abstracts\nDifferent type of account can have the single abstraction of account and can operate different account related operations. \n\n#### Iterator Pattern (GoF)\nThis pattern facilitates the iteration of a list of customers from DAO.\n\n#### Command Pattern (GoF)\nThis pattern is used to provide single command like functionality, and undo-redo (TODO, not yet implemented here) features. It provides the abstraction for actions such as add account, add interest, deposit money, withdraw money, etc.\n\n#### Strategy Pattern (GoF)\nThis pattern provides the choice of strtegy for different types of report generation such as monthly billing report, account summary report, etc.\n\n#### Observer Pattern (GoF)\nThis pattern is used to notify views of any change in the accounts or customers.\n\n## Built With\n\n* [Maven](https://maven.apache.org/) - Dependency Management\n* [Intellij Idea](https://www.jetbrains.com/idea/) - IDE\n* [StarUML](http://staruml.io/) - UML Class and Sequence Dragramming\n\n## Authors\n\n* **Bishal Paudel** - [BishalPaudel](https://github.com/bishalpaudel)\n* **Akash KC** \n* **Devi Bahadur Khadka** - [DevKhadka](https://github.com/dbkhadka)\n\nSee also the list of [contributors](https://github.com/bishalpaudel/FinCo/contributors) who participated in this project.\n\n## Disclaimer\nThis project is created for educational and learning purposes only. Until this time, this project cannot be used for commercial purposes. We hope to continue and improve this project in the future.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbishalpaudel%2Ffinco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbishalpaudel%2Ffinco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbishalpaudel%2Ffinco/lists"}