Personal Budgeting App – Research, Planning and UI/UX Design Documentation
Part 1 — Research, Planning and Design (Marks: 100)
Learning Units 1 to 3
At the end of this specific part, students should be able to:
• Create a new app;
• Use images in an app;
• Apply layouts to the user interface of an app;
• Use the TextView and ImageView controls in an app.
This task is composed of two sections, weighted equally:
• Research
• Planning and design
It is recommended that you create two separate documents for the submission.
Research (Marks: 50)
You will research three existing personal budgeting apps available for the Android operating system. Present your findings in a typed PDF document (1500 to 2000 words). Your research should include the following sections:
- Introduction
- Research on each of the apps, including:
a. Overview of the app, including screenshots with descriptions
b. Strengths and weaknesses of the app
c. Innovative features of the app - A visual (infographic) comparison of all three apps
- A list of the best features from all the apps that you want to include in your app
- Conclusion
- References
Make sure you reference correctly for this task. See the referencing rubric at the beginning of this document. You are required to reference multiple sources for each app that you are researching to ensure that you have a balanced view of the app.
Make sure that the infographic is sized so that the text is readable. Also, make sure that the size of the PDF file does not exceed 10MB, since this document must be submitted through Turnitin.
Planning and Design (Marks: 50)
For this task you will need to fully design your app. The purpose of this task is to ensure you know exactly what you need to build and how you will build it before you start with the implementation of the prototype.
The design needs to link back to the research, since the purpose of the research is to inform the design.
You will need to present your design as a typed PDF document (1000 to 1500 words) with the following sections:
• Introduction
• A brief overview of the app, including a name for the app, an initial icon design, and a
description of the innovative features that you are planning to include.
• A detailed list of the requirements for the app. The requirements must include all the minimum requirements from this document, but you must elaborate on each of those requirements rather than just copying them. And remember to add your own features that you want to include, for example gamification. The requirements must be detailed enough for someone else to be able to build your app by just reading this document!
• User interface design, including a mockup for each screen, a description of the purpose of the screen, and a diagram showing how the user navigates between the various screens.
• Project plan detailing deadlines and milestones for the project, in the format of a Gantt chart. Break down the tasks into smaller tasks than just “implement the prototype”. Include some time for testing and bug fixing.
• Conclusion
• References
Part 2 — App Prototype Development (Marks: 100)
Learning Units 1 to 4
At the end of this specific part, students should be able to:
• Apply layouts in an app.
• Use the EditText, NumberFormat and SeekBar in an app.
• Apply event handling in an app.
• Create an activity.
• Apply an intent in an application.
• Reading and writing to RoomDB
For this task you will need to build a fully working prototype. This prototype needs to include all the features listed in the instructions section of this document but based on your own design and user interface layout.
This task involves developing a budget tracker app with a focus on functionality, data persistence, and a user-friendly interface. Below is the detailed breakdown of how to implement the requirements:
• The user must be able to log in to the app using a username and password.
• The user must be able to create categories that the expense and budget entries will belong to.
• The user must be able to create an expense entry, specifying at least the date, start and end times, description, and category.
• The user must be able to optionally add a photograph to each expense entry.
• The user must be able to set a minimum monthly goal for money spent, as well as a
maximum goal.
• The user must be able to view the list of all the expense entries created during a user selectable period. If a photo was stored for an entry, the user must be able to access it from this list.
• The user must be able to view the total amount of money spent on each category during a
user selectable period.
• All data should be saved to a local SQLite, RoomDB or similar offline Android database platform.
The demonstration video must effectively demonstrate the features of the app and be fully professional. The video must include a voiceover explaining what you are showing. Remember to compress the video to make uploading it to Learn easier and faster.
The app must have a user-friendly and appropriate user interface that is able to handle invalid inputs made by the user without crashing. The app must be working with only minor bugs and errors.
Version Control with GitHub: Initialise the repository with a README file. Commit and push your project files to the GitHub repository. Regularly commit and push your code as you make progress.
Conduct automated testing on the main functionality of your app. Make use of GitHub actions to run tests and build your code to make sure it will work on not just your computer. Use this guide that will assist in creating this:
• https://github.com/marketplace/actions/automated-build-android-app-with-github-action
• https://github.com/IMAD5112/Github-actions/blob/main/.github/workflows/build.yml
Submission:
For your submission, present the following:
• The complete Kotlin source code for the Android app needs to be submitted on GitHub. No zip files are allowed.
• Add comments to your code, and don’t forget to reference it.
• Make use of logging to show your understanding of your code.
• Your README file for your app that is also on GitHub.
• A video presentation showcasing all the app’s features. Include a link to this video in the README file.
• The built apk for your app.
You can upload your video to YouTube, make it unlisted, and add that link to your README file. You can also use any video recording software you like.
Just make sure to include a voice-over to show your understanding.
Part 3 — Final App Development (Marks: 100)
All learning units
At the end of this specific part, students should be able to:
• Create a Firebase database.
• Create code to read data from the Firebase database.
• Create code to write data to the Firebase database.
The final app needs to run on a mobile phone and not an emulator. This means that you need to plan well in advance to record the required video on a mobile phone if you don’t own an Android phone yourself.
Remember to implement your lecturer’s feedback on the prototype before adding the new features. Pay special attention to the feedback on the user interface. Marks will be awarded for that again in this part, so you now have the opportunity to improve on what you did before.
For the final submission of the app, you need to include the following features that were not required for the prototype:
• The user must be able to view a graph showing the amount spent per category over a user- selectable period. The graph must also display the minimum and maximum goals (final PoE only).
• The app must display in a visual format how well the user is doing with staying between their minimum and maximum spending goals over the past month (final PoE only).
• The data must be stored in an online database (final PoE only).
In addition to these features, you must have:
• Your own features as described in your design document. You must include at least two of your own features. Document your two features in a README file so you lecturer knows what to look out for.
• An app icon and final image assets.
You must create a demonstration video that effectively demonstrates the features of the app running on a mobile phone and it must be fully professional. The video must include a voiceover explaining what you are showing, and it must show that the data is stored online. Remember to compress the video to make uploading it to Learn easier and faster.
Tip: OBS (Open Broadcaster Software) is free and open-source software that allows great flexibility for adding audio to a video recorded with a screen recorded on your phone!
Version Control with GitHub: Initialise the repository with a README file. Commit and push your project files to the GitHub repository. Regularly commit and push your code as you make progress.
Conduct automated testing on the main functionality of your app. Make use of GitHub actions to run tests and build your code to make sure it will work on not just your computer. Use this guide that will assist in creating this:
• https://github.com/marketplace/actions/automated-build-android-app-with-github-action
• https://github.com/IMAD5112/Github-actions/blob/main/.github/workflows/build.yml
Documentation:
Prepare a comprehensive report detailing the purpose of the app, its design considerations and the utilisation of GitHub and GitHub Actions. Include all of this inside your README file inside GitHub. Add images and make the README file your own.
Submission:
For your submission, present the following:
• The complete Kotlin source code for the Android app needs to be submitted on GitHub. No zip files are allowed.
• Add comments to your code, and don’t forget to reference it.
• Make use of logging to show your understanding of your code.
• Your README file for your app that is also on GitHub.
• A video presentation showcasing all the app’s features. Include a link to this video in the README file.
• The built apk for your app.
• A copy of your research and design documents as submitted in part 1.
You can upload your video to YouTube, make it unlisted, and add that link to your README file. You can also use any video recording software you like. Just make sure to include a voice-over to
show your understanding.
Expert Answers on Above Questions on Programming
Answer 1:
Introduction:
Budgeting apps play a crucial role in personal finance. This section therefore focuses on the importance of budgeting apps by considering 3 important Android budgeting apps in particular.
Research on three budgeting apps
The three important budgeting apps that are selected for the purpose of analysis are Money Manager, Spendee, and Goodbudget. The analysis of each of these budgeting apps would be carried out by providing a brief explanation of their main features, UI/UX analysis, performance and reviews given by users, and the innovative aspects of each of these apps.
Visual comparison
The visual comparison of the apps would be carried out with the help of an infographic whereby the three selected apps are analysed based on the key factors including the user interface, features offered by them, usability, data security and ratings and feedback.
| Disclaimer: This answer is a model for study and reference purposes only. Please do not submit it as your own work. |

