project-proposal-2025

BucketList: An Application that Auto-Generates Travel Plans Based on Social Media Posts

Abstract

Seen a dreamy spot on your feed but dreading the hassle of planning and budgeting? What if your next trip planned itself—just from your social media? Look no further than BucketList.

BucketList is an application that takes in various social media sources such as URLs and social media posts. From these sources, it extracts metadata such as likes, shares, and views to determine how popular a spot is. It will then combine this information with data from various sources such as travel sites (Flight Centre, Trivago, Klook etc.) to help locate feasible travel plans that re within the customers’ budgets that include the popular destinations. With this application, you are guaranteed to have a custom-tailored travel plan suited to your budget and needs that will leave you with lifelong memories.

Author

Name: Christian Almario

Student number: 46387231

Functionality

BucketList has a wide range of potential features, driven by the growing demand for travel and the influence of social media.

Potential Features of the Final Product:

Scope

Due to the large potential for this application to be integrable to various social media or travel sites, the minimum viable product should be focused on at least one social media platform. For travel, two of the dominant platforms to consider are TikTok or Instagram, hence one of these two platforms’ integration would be considered sufficient.
Based on these social media platforms, the software should be able to:

Quality Attributes

The primary quality attributes that are considered most important for this project are availability, scalability, and interoperability. The reasons behind these selections are detailed below. Security is another important consideration since this is an application that will interact with multiple sources either through an API or the browser. However, this is not a major focus but will be considered during the planning and implementation phases of the proposal.

Availability

Availability is a quality attribute that will need to be considered since social media use occurs at any time. Hence, the site needs to be available for use at any time, by any number of users. This will incur a trade-off with the quality attribute of security as an application that is always running will always be susceptible to attacks and breaches. Hence, the relevant security plan must be considered when developing the application. Although security is important, availability will be of higher priority as an extremely secure but unavailable application will not satisfy the requirements of the target users.

Scalability

As this application will likely be used by multiple users at once, whilst also receiving and extracting multiple forms of data, scalability is an essential quality attribute that must be considered. Performance degradation can easily become an issue as the usage of the application increases, and as more users send posts and save travel plans. The relevant scaling methods (horizontal, vertical, hybrid) will be assessed and applied depending on the usage logs of the application. This will affect the maintainability of the application as the more resources there are, the more maintenance will be required. However, thorough testing and monitoring can ease the maintenance required on the application, hence scalability will still take priority.

Interoperability

Interoperability is an essential quality attribute as consistent and correct communication with all of the potential data sources is important due to the constant flow of data. Interoperable systems usually result in components being highly coupled. This makes modularity and extensibility difficult to achieve as high coupling will result in multiple components having to be changed. However, this trade-off is not a major concern as most social media platforms and travel sites have similar formats, hence similar methods and modules can be applied for different sources. If a dramatically different source were to arise in the future, then the relevant changes will be applied. Otherwise, interoperability will still take priority, as it is more important to have consistent communication with the current platforms and websites.

Evaluation

To evaluate the quality of the developed application, the following criteria will be used to assess its ability to satisfy its important quality attributes. For the minimum viable product to be considered successful, it must pass the following criteria.

Availability

To assess the availability of the application, its uptime can be measured and assessed to ensure that it is able to constantly stay active. Common failures can also be recreated, such as server restarts, and the time taken for recovery measured to evaluate the failure protocols of the application. The application will need to be able to recover in a reasonable time and remain online for extended durations.

Scalability

To assess the scalability of an application, the application will undergo stress testing where multiple users are using the application to upload posts and generate travel plans. The response time of the application will be measured, and the database queries evaluated to see if they have been optimized. The response time of the application should remain consistent and not largely vary as the number of users increases.

Interoperability

Since this is a minimum viable product, the application’s ability to interact with a single social media source and two travel sites will be assessed. Its ability to make API calls to other sources and handle both correct and incorrect responses will be measured. The application should be able to gracefully handle incorrect responses, extract the necessary information from correct responses, and complete its desired functionality.