project-proposal-2025

TrackBack

Abstract

Do you ever find yourself purchasing two products online that are either the same or very similar? Sometimes you already have an item which can be used in multiple different ways but unsure of its full capabilities. TrackBack provides a shopping assistant that can be installed as a browser extension to ensure you don’t make those mistakes again! Users will be alerted when they are on a product page that they already own or own a similar version of. It encourages users to reevaluate their purchase and decrease the amount of unnecessary spendings.

Author

Name: Wing Yan Lee

Student number: 47490174

Functionality

The system will offer a simple extension to notify users if they have purchased the same or similar product previously. A pop up will appear if you have purchased the same product that is logged in the database. Similarly, if you have purchased a similar product, you will be notified of the item owned alongside a blurb of its full functionality. The application will help manage purchase history through a list view interface where you can search for key words/item names/shop to ensure you don’t make unnecessary purchases.

Features

Scope

The scope for the MVP is as follows:

Quality Attributes

Availability

Availability for the system will be demonstrated through how well it functions over specific periods. This correlates directly to the reliability of the system. Users must have access to their profile as well as their purchase history. Therefore, the system must be able to synchronise with servers to provide instantaneous feedback. If the system experiences faults that may prevent it from showing users the notifications or purchase history, it may hinder the aim of this application and allow for unnecessary purchases to be made.

Scalability

With the ever-growing amount of data that is needed to be added regularly, the system must be able to account for varying amounts of requests and users. This is a very important attribute as information will be added as more purchases are made by the user. For the system to be successful, there needs to be a guarantee of high performance during all time periods. Horizontal scaling will be most optimal for this system as it allows for high availability without sacrificing fault tolerance.

Reliability

For the system to be reliable, data such as user details and purchase history must be displayed correctly between database and user interface. Therefore, there must be consistencies between when the user makes a purchase and then being successfully stored into the database. This is important for the application as the main goal is to reduce unnecessary purchases made from not knowing what was bought beforehand. Similarly, accurate information of the item description must be displayed for cases where the user has made a similar purchase. If this information is not accurate, the user may be led to false information and inadvertently cause annoyances when duplicating purchases. For reliability of the system to be measurable, tests such as load and stress testing can be used to evaluate its effectiveness.

Evaluation

Availability

The system can be tested through load and stress testing. This will test its ability to return and communicate correct information during up and down time.

For the system to be successful, it should be able to handle all information should be displayed in the same manner on different servers. For example, if the user were to log in on both their laptop and phone, they should be able to see the same information displayed.

Scalability

Scalability can be tested through running the system at different capacity levels. Accounts and purchase history will need to be created and updated simultaneously. Therefore, the database must allow for the system to grow continuously and without any difficulties. Response times can be measured at different loads and assessed based on a standardised level. There should be an insignificant decrease in response time when the load is increased. Another way to assess if the system is scalable is to analyse the maximum users on one server at a time. The benchmark can be determined based on the performance correlated to the user quantity where the performance impact is optimal. If errors and faults occur, then it suggests that there may need to be an increase in servers or a decrease in maximum capacity.

Reliability

To evaluate how reliable the system is, similar tests to testing availability can be used

For the system to be successful, the system will be able to return correct items that the user has purchased or a similar item. Each purchased item must be accurate to ensure that the user does not make unnecessary purchases.