project-proposal-2025

SubBuddy: Online Service Subscription Manager

Abstract

In recent years, the software industry has strongly shifted from one-time payment softwares to service subscriptions. This allows premium users to access features that free users cannot, as services like Netflix, Youtube Premium, Canva Premium, etc. Most of these services provide free trials to users but automatically renew the paid subscription once the trial period ends, often without sending a prior notice. Consequently, many users forget to cancel the trial and end up wasting their money on paying for services they do not intend to continue using.

SubBuddy offers a comprehensive solution for managing subscription services. It provides a user-friendly dashboard to monitor subscriptions, prompts renewal alerts, and identifies underused services to help save user money. Moreover, SubBuddy provides a clear breakdown of monthly subscription spending, helping users understand and control their spending. By preventing unnecessary charges, SubBuddy gives users the full control over their subscriptions and avoid unwanted auto-renewals.

Author

Name: Tri Nhan Pham

Student number: 48268213

Functionality

Features

Log in/Sign up

Profile

Dashboard

alt text

Subscription Reminder

Financial Analysis

Privacy and Security

Potential flows in SubBuddy

Scope

Quality Attributes

Modularity

A modular architecture, where components such as user authentication, subscription reminders, financial analysis and others are designed to be distinct and independent modules. This is prioritized in SubBuddy because of several reasons:

Availability

With a software that provides real-time updates and alerts like SubBuddy, it is really important that the system is always available. Continuous availability is critical to prevent missed notifications that could lead to unwanted charges, affecting user trust in the system. As a result, the system should be available whenever users need to check for alerts or their spending. Availability for SubBuddy can be managed and measured by having performance metrics, such as uptime (percentage of time the system is operational and available to users), error rate, or response time, etc.

Testability

SubBuddy prioritizes testability as it also enhance availability and functionality by detecting errors or malfunctions early even in development process or in production. High testability means fewer bugs and issues, leading to higher user satisfaction and trust. The system supports automated testing, including unit tests, integration tests, and system tests. Moreover, given that SubBuddy handles sensitive user data and financial information, being able to test compliance with data protection regulations is really important. Testability can be managed and measured by automated test proportion, or test execution time, etc.

Security

Security is a must in terms of architecture considerations for SubBuddy, as the software accesses and handles sensitive information. For SubBuddy, security is ensured by using two-factor authentication for new and unrecognized device logins. Moreover, all user data, including sensitive email access, is encrypted. Even with cyber attacks, user data is still protected, as SubBuddy may have access to sensitive information of users, such as personal information or emails. SubBuddy needs to have strong security in order to maintain user trust and compliance with data protection regulations

Evaluation

Evaluation for selected attributes can be conducted through methods and/or metrics given below:

Modularity

Availability

Testability

Security