Sanasa Society Bank System is a software solution for managing members and money transactions of sanasa society. Banking system of Sanasa society is a little bit different from other banks. There are 2 main reasons for that.
The software system addresses 4 key components of the SANASA society.
There are 3 user types for the system
The SSBS aims at simplifying the processes of the society that are carried out manually by implementing a digital structure.
In order to create an effective bank management system for <a href=https://sanasa.coop/>SANASA</a>, a thorough investigation of the current methods used by the bank was necessary. Visiting the village branch and gathering information about how they manage their member’s deposits and loans was the first step in this process. The accounting tables were examined to gain insight into the manual methods used to keep track of financial transactions. By carefully analyzing this information, an entity relationship diagram was designed to accurately represent the structure and flow of data within the bank. This careful attention to detail and in-depth research laid the foundation for a successful implementation of the bank management system.
A Nonmember account should be able to convert into a member account (This should be with the approval from a current valid member - under the 1.6 and 1.7 sub constitution).
In addition system should keep details about society member applicants and the Non-member applicants. Then the software should check the attendance of an adult member for monthly congress meeting for 3 months and depending on the result that member should be added to society member list.
Member and Non-Member Deposit Interest ratings are different for normal deposit and fixed deposit. (Generally, Member interest ratings are higher than Non-Member interest ratings.)
Most of these loan type interests are calculating under the reducing balance method.
The Bank System project is built using a monolithic architecture, which means that both the front end and back end are combined into a single application. The user interface is developed using JavaFx, which is a Java-based GUI framework that allows developers to create rich client applications. The backend database is implemented using MySQL, a popular open-source relational database management system.
The Bank System project was developed at an early stage in the programmer’s career. Despite this, the project demonstrates the ability to create a functional application that addresses real-world business needs. The monolithic architecture used in the project is a simple yet effective approach for building applications that do not require complex scalability or distributed architectures.
Use Case Diagram
Conceptual Design
Physical Model
In our project, the back end that makes connections to MySQL database. To Avoid Dirty connections across the database and java program we have used singleton pattern to ensure we have only one database connection available at any point of time. We did it because, database connections are a limited resource. Some DBs have a very low connection limit, and wasting connections is a major problem. By consuming many connections, you may be blocking others for using the database.
Our Project has around 17 Model classes and 14 database controller classes. Creating objects from this classes all over the places in GUI controllers, the overall project code will become messy. That’s why we implemented Factories called “ModelFactory” and “ControllerFactory” for both Model classes and database controller classes.
Here are some screenshots of the user interfaces.
Overall, the Bank System project is a useful tool for managing member accounts and transactions for Sanasa Bank. The project demonstrates the use of JavaFx for the front end and MySQL for the backend database, as well as the use of a monolithic architecture for building simple yet effective applications.