project-proposal-2025

GoalReacher Goal Management App

Abstract

Since the popularization of short form videos, it has become more and more clear that there are many distractions that waste our time through the day. This affects how much time and effort we put into our goals daily, making it harder to finish goals consistently or finish them at all.

GoalReacher offers the solution for tracking and making sure we are “on track” with our goals. It provides a dashboard for us to monitor the progress of our goals and upcoming deadlines. It also comes with customizable goal creation, create ease for users to create goals and track it however they want to. You can also break a goal into smaller tasks, and set them to contribute to your goal’s progress. Additionally, you can also set alerts to tell you when your deadline is near, or one will be set automatically for you. GoalReacher main task will always be to assist you in completing your goal, and will better itself in the future for you to use.

Author

Name: Huu Phuc An Tran

Student number: 48309255

Functionality

Features

Login/Sign up

Profile

Dashboard

Set/modify a goal

Set/modify actionable tasks to their respective goals

User can break down their goals into smaller tasks/subtasks to make their progress more achievable

Task reminder/notification

Potential flows

Scope

User Account

Quality Attributes

Reliability

Reliability ensures the app functions correctly and consistently. It ensures all the progress are always up-to-date and any reminders/notification will always show up on time. Reliability is an important attribute in this system for any error such as failing to issue a notification would cause the user plan to go off track and the purpose of the app would not be fulfilled. Users should be able to use the app without any concern whether the app would miss an alert or display the wrong progress of a goal.

Extensibility

Extensibility refers to the ability to adapt and expand the system as user needs evolve. The application should be built with extensibility in mind, which allow new features, such as advance analytics or AI-driven manager for the goals, to be integrated without disrupting the existing functionality. Extensibility is important due to the purpose of the app being a goal manager, meaning constant development of features that assist the user to achieve their goal should be updated with ease. If the app fails to deliver what users need to achieve their goals, it means the app has failed its purposed.

Usability

Usability focuses on creating an intuitive and user-friendly experience. The app should prioritize ease of navigation, ensuring that users can create goals, break them into tasks, and track its progress with ease. The reason usability is crucial is if users struggle with complex or unintuitive features, they are more likely to abandon the app. A focus on usability ensures that goal-setting remains enjoyable and a motivating experience rather than a frustrating one.

Evaluation

Reliability

To evaluate reliability, we first conduct basic system tests to ensure the system can function correctly under low-stress environments. Then, load testing to simulate high traffic and usage scenarios(ideally 10 times of the expected usual number of users) to ensure the application remains stable under peak demand. Additionally, every time a new feature is deployed, tests should be done again to ensure the new feature does not create reliability issues.

Extensibility

Extensibility would be assessed based on the ease with which new features can be added. This means ensuring new components can be integrated in the codebase without significant changes to existing functionality. This could be done through feedback from the developers to ensure the system is ready for additional features. The same applies for the architecture of the system, to be easy for new features to be included in the scope, a newly added component should not change how old component appears to users, this could be done through user testings.

Usability

Usability will be evaluate through user testing and feedback. Key metrics like goal progress and tasks status should be as clear as possible to users. For further improvement of usability, survey or interview can be conducted to gain users insight of the current design and improve its quality.