Kids Bank is an innovative financial platform designed specifically for children, aimed at educating them about money management and financial literacy in a fun and engaging way. This project seeks to empower the younger generation with essential financial skills that will serve them throughout their lives.
The primary objective of Kids Bank is to provide a comprehensive and interactive platform where children can learn about savings, spending, budgeting, and other financial concepts. By utilizing gamification and age-appropriate educational content, Kids Bank ensures that learning about money is both enjoyable and effective.
-
Account Management
- Account Creation: Children can create their own virtual bank accounts, choose avatars, and start managing their savings and expenses responsibly.
- Balance Tracking: Kids can see their current balance in a fun and engaging way, such as visual representations like filling up a piggy bank.
- Security Features: Allows children to set up a PIN or password to secure their account, teaching them about financial security.
- Transaction History: Children can review their past transactions to understand their spending and saving habits.
- Account Deletion: Provides the option to delete accounts, ensuring personal data is not unnecessarily retained.
-
Money Transactions
- Deposit Money: Children can deposit virtual money earned from tasks into their accounts, helping them track their earnings.
- Withdraw Money: Allows children to withdraw money for spending on their savings goals, teaching them about budgeting.
-
Earning Opportunities
- Task Setting: Parents can set tasks for their children, rewarding them with virtual money upon completion, teaching the value of earning.
-
Savings Goals
- Goal Setting: Children can set savings goals for things they want to buy, learning about planning and saving money.
-
Safety and Oversight
- Parental Controls: Parents can oversee their child's account activities to ensure their safety and financial learning.
- Parent Notifications: Parents receive notifications of their child's account activities, enabling them to monitor progress and provide guidance.
-
Personalization
- Custom Avatars: Children can customize their account avatars to make their banking experience more personal.
-
Social Features
- Friends List: Children can add friends to their friends list within the app, experiencing financial management in a social context.
-
Alert System
- Forget Password: Provides a secure method for password recovery, allowing users to regain access without creating a new account.
- Account Monitoring Alerts: Parents receive alerts for any unusual account activity, enabling immediate action to secure the account.
-
Billing
- Bill Generation: Children can generate a bill of their transactions to track their income and expenses.
- Bill Statistics: Provides statistical charts of income and expenses to help children visually understand their financial situation.
- Spending Analysis: An analysis tool categorizes spending to teach children about financial habits and identify areas for savings.
- Bill Export: Allows children to export bills to PDF or CSV files for further analysis or record-keeping.
-
Data Management
- Data Encryption: Ensures all data within the app is encrypted to keep personal information safe, complying with applicable laws and regulations for children's online safety.
Before installing Kids Bank, ensure you have the following prerequisites installed:
- Java Development Kit (JDK) version 8 or higher
- Apache Maven for managing dependencies
- Git for cloning the repository
-
Clone the repository
git clone https://github.com/leoCHENG100/group-91.git cd group-91
-
Install dependencies
Ensure all required JAR files are in the
lib
andresource
directories as shown below:lib Directory:
- beansbinding-doc.zip
- beansbinding-src.zip
- beansbinding.jar
- flatlaf-3.4.1.jar
- hamcrest-core-1.3-javadoc.jar
- hamcrest-core-1.3-sources.jar
- hamcrest-core-1.3.jar
- jfreechart-1.5.4.jar
- junit-4.13.1-javadoc.jar
- junit-4.13.1-sources.jar
- junit-4.13.1.jar
- poi-3.8.jar
- swingx-1.6.1.jar
resource Directory:
- commons-io-2.16.1.jar
- commons-math3-3.6.jar
- flatlaf-3.4.1.jar
- jfreechart-1.5.4.jar
- log4j-api-2.23.1.jar
- log4j-core-2.23.1.jar
- poi-3.8.jar
- swingx-all-1.6.4.jar
-
Build the project
Use Maven to build the project:
mvn clean install
This command will:
clean
: Clean up the project by removing previous build outputs.install
: Build the project and install the built JAR file into the local Maven repository.
-
Run the application
After building the project, you can run the application using:
User Portal:LoginView.java
This command will:
- Use the Java Virtual Machine (JVM) to run the built JAR file.
- The
-jar
option specifies the path to the JAR file. In this case, the built JAR file is located in thetarget
directory and namedgroup-91-1.0-SNAPSHOT.jar
.
After installation, you can start using Kids Bank. Refer to the following sections for detailed instructions on how to use various features.
- Creating an Account: Navigate to the account creation page and follow the prompts to set up a new account.
- Tracking Balance: View your current balance on the dashboard with both numerical and visual representations.
- Managing Transactions: Deposit or withdraw virtual money through the transaction page, and review past transactions in the history section.
- Setting Goals: Create savings goals and track your progress towards achieving them.
- Parental Controls: Parents can set tasks, monitor account activities, and receive notifications about their child's transactions.
For more detailed usage instructions, please refer to the user manual provided with the application.
Group 91(listed in no particular order): Yingyi Cheng Zhenchao Chai Peixuan Lan Gengnan Wang Qian Wang Yunzhong Wang
Kids Bank is licensed under the MIT License. See the LICENSE file for more details.
We would like to thank the following libraries and frameworks used in this project:
- Beansbinding
- FlatLaf
- Hamcrest
- JFreeChart
- JUnit
- Apache POI
- SwingX
- Apache Commons IO
- Apache Commons Math
- Log4j
If you encounter any issues or have questions, feel free to open an issue on GitHub or contact us at [email protected].
Kids Bank is committed to fostering financial literacy in the next generation, ensuring they are well-prepared for the financial challenges of the future.