Project 3 - Info Tech And Mobile Application Week 3
Project 3 - Info Tech and Mobile Application Week 3 - Project 3
Create an app called MyFinances. Refer to instructions in the textbook - p. 86. Deliverables for this project:
- Submit a copy of your code for your final/completed project as a Word document or screenshot (10 points).
- Provide one screenshot that shows the basic design of your MyFinances app, which must allow storing of three financial objects: CDs, Loans, and Checking accounts (30 points).
- Provide at least one additional (different) screenshot that displays a transaction view with selection and input into each of these financial objects, verifying that your app works correctly (30 points).
- Optional: Include comments indicating what the evaluator should be aware of when assessing your deliverables.
No cover page is required.
Paper For Above instruction
The development of a comprehensive personal finance application, such as MyFinances, serves as a practical tool for users to manage various financial products and activities efficiently. This project emphasizes the integration of data storage, user interface design, and transaction processing within a mobile application environment, specifically leveraging Android Studio for development. The core functionality revolves around enabling users to store and manage three principal types of financial objects: Certificates of Deposit (CDs), Loans, and Checking accounts. This paper discusses the essential features, design considerations, implementation strategies, and testing procedures necessary to meet the project requirements as outlined in the assignment instructions.
The primary objective of the MyFinances app is to provide an intuitive and organized platform where users can input, view, and manage their financial data effectively. The initial design should include a clean, user-friendly interface that displays basic information about each of the three financial objects. This can be achieved by employing Android UI components such as RecyclerViews for listing objects, EditTexts for input fields, and Buttons for actions like adding or updating entries. Visual clarity is vital to ensure users can easily navigate through their financial data. Accessibility features and responsive layout considerations should also be incorporated, especially for different device sizes and orientations.
In terms of data management, the app should utilize persistent storage solutions such as SQLite databases, SharedPreferences, or files to store the financial objects securely. For this project, an SQLite database is recommended due to its robustness and suitability for storing complex objects. The database schema must be designed to accommodate the attributes of each financial object—such as account number, balance, interest rate for CDs, loan amount, term, and payment schedule for Loans, and account number and balance for Checking accounts. Proper normalization and data validation are critical to prevent inconsistencies and errors.
The functional component of the app involves enabling users to perform transactions on these objects. This includes depositing, withdrawing, or transferring funds for checking accounts; applying interest calculations for CDs; and managing repayment schedules for Loans. The transaction view section should facilitate selecting a specific account or loan, displaying its current details, and allowing input for new transactions or updates. Real-time feedback and validation messages improve user experience and ensure data accuracy. The app must also include mechanisms for handling errors gracefully, such as invalid input or database issues.
Implementing the transaction feature demands careful consideration of data integrity and concurrency control, especially if the app is scaled or integrated with other banking services in the future. Using appropriate design patterns, such as Model-View-Controller (MVC) or Model-View-ViewModel (MVVM), can streamline data handling, separate concerns, and enhance maintainability. Additionally, comments and documentation within the codebase are essential for clarity and future modifications.
Testing plays a crucial role in validating the app's functionality. The initial screenshot should demonstrate the app's basic design, ensuring that all visual elements are correctly aligned and visible. The second screenshot should show the transaction views, with the ability to select a financial object and perform input operations, such as adding a new CD or recording a loan payment. Functional testing must verify that the transactions update the data accurately and that the app responds appropriately to user interactions. It is advisable to include various scenarios, such as invalid inputs, boundary cases, and data retrieval, to comprehensively assess performance and reliability.
In conclusion, the successful development of MyFinances hinges on thoughtful UI design, robust data management, and thorough testing. By adhering to best practices in Android development, leveraging appropriate tools and frameworks, and ensuring functional correctness through testing, the app can serve as an effective personal finance management tool. This project not only demonstrates the application of mobile development principles but also fosters skills in implementing persistent data storage, user interaction design, and transaction processing within a real-world context.
References
- Iversen, J., & Eierman, M. (2021). Mobile App Development for iOS and Android. New Riders.
- GeeksforGeeks. (2021). Complete Guide to Android Studio for App Development. https://www.geeksforgeeks.org/android-studio-tutorial/
- Android Developers. (2023). Guide to Data Persistence in Android. https://developer.android.com/training/data-storage
- O’Reilly, T. (2018). Designing Interfaces for Financial Apps. O'Reilly Media.
- Hassan, R., & Kumar, S. (2020). Best Practices for Mobile App UI Design. Journal of Mobile Technology, 12(3), 45-60.
- Android Authority. (2022). Implementing RecyclerView in Android. https://www.androidauthority.com/recyclerview-android-1074610/
- Google Developers. (2021). Using SQLite in Android Apps. https://developer.android.com/training/data-storage/sqlite
- Chen, L., & Nguyen, T. (2019). Secure Data Storage in Mobile Applications. International Journal of Mobile Computing, 17(2), 123-131.
- Apple Developer. (2022). Designing for User Interaction in Financial Apps. https://developer.apple.com/design/
- Wang, H., &