Project Assignment 1: Bank Application

Objective:

The Bank Application project aims to create a user-friendly frontend for bank clerks. This application will enable clerks to manage customer accounts efficiently, including adding new customers, performing transactions, and maintaining account information. This project will build upon the principles and techniques you learned while working on the Quiz Generator App, providing you with a solid foundation for developing more complex applications.

Project Scope:

  1. Customer Management:
  • Add new customers with details including BankAccount and Address.
  • Store customer data in objects.
  • Read customer details from an input file.
  1. Bank Account Operations:
  • Deposit funds into a customer’s account.
  • Withdraw funds from a customer’s account.
  • Transfer funds between customer accounts.
  1. Future Enhancements:
  • Implement functionality using Servlets.
  • Transition to using Springboot and Angular for a more robust and scalable application.

Requirements:

  1. Core Features:
  • A form to input and add new customer details.
  • Functions to perform deposit, withdrawal, and transfer operations.
  • Data persistence using objects.
  1. File Handling:
  • Ability to read customer details from a file.
  • Save updated customer information back to the file or objects.
  1. User Interface:
  • Create a simple, intuitive UI for bank clerks to perform the necessary operations.
  1. Modular Design:
  • Ensure the application is modular to facilitate future enhancements and integration with Servlets and Springboot/Angular.

Guidelines:

  • Refer to the Quiz Generator App for understanding the structure and design principles.
  • Focus on creating a clean and user-friendly interface.
  • Pay attention to data validation and error handling.
  • Ensure the application is well-documented to aid future development and maintenance.

Evaluation Criteria:

  • Functionality: The application should meet all core requirements and perform the specified operations correctly.
  • Code Quality: The code should be clean, well-organized, and follow best practices.
  • User Interface: The UI should be intuitive and easy to use.
  • Documentation: The project should include comprehensive documentation explaining the code and how to use the application.

Timeline:

  • Week 1: Setup project structure and start working on customer management features.
  • Week 2: Implement bank account operations.
  • Week 3: Add file handling capabilities.
  • Week 4: Refine UI and perform testing.
  • Week 5: Documentation and final review.

Submission:

  • Submit the complete project code along with a README file explaining the features, setup instructions, and any other relevant information.

By the end of this project, you will have developed a fully functional Bank Application, gaining valuable experience in handling real-world scenarios and preparing you for more advanced projects in the future. Use the skills and knowledge you acquired from the Quiz Generator App to guide you through this assignment, but remember to make it your own and think critically about the design and implementation.

Good luck, and happy coding!


Table of contents