Market Pulse is a stock and cryptocurrency tracking application which intergrates real time market data with sentiment anlysis from solcial media platforms such as Reddit and X. Designed for retail investors and traders, the applicaition provides a dashboard where users can monitor price movements alongside public sentiment trends. By analysing discussion patterns and engagement across social media platforms, Market Pulse enables users to assess how community sentiment correlates with market shifts. Users can search for specific assets, visualise sentiment over time, and manage a personalised watch list. The project prioritises reliability, scalability, and interoperability to ensure up to date data delivery, handle growing user demands, and integrate effectively with third party API’s.
Name: Milo Hunter
Student number: 47041343
The minimum value product will focus on core features that demonstrate Market Pusles key value: integrating real time market data with public sentiment insights.
Interoperability is crucial to Market Pusle as the system depends on seamless integration external data sources, such as fincancial APIs and social media platforms like Reddit. Each of these formats may use different formats, authentication protocalls, and rate limits. The system needs to be able to pull in data smoothly from different services, handle any errors properly, and convert the data into a format the app can use, even if those services return things in different ways. Ensuring smooth interaction between all parts of the app and third party services is essential for providing accurate insights to the user.
Market Pulse will perform frequent API calls to retrieve live stock and crypto data, as well as public sentiment. As the user base grows, so will the number of concurrent API and real time data processing requests. To msintain performance and avoid issues like slow data loading or timeouts, the system must be able to scale horizontally. Scalability is especially important during high traffic periods such as market penings or breaking news events. The system should be able to cache data so it doesn’t keep making the same requests, handle things like API calls in the background without blocking the app, and spread the work out so it stays fast even when lots of users are using it at once.
Market Pulse displays live financial information that may influence users decisions. Any failure to deliver accurate or current data could undermine trust in the system or result in financial loss for the users. Reliability means the system should still work as expected, even when API calls are delayed, fail, or become temporarily unavailable. For this application, “consistently” means that data is kept up to date in near real time, and that fallback systems or error handling make sure the app keeps working. This includes avoiding broken parts of the UI and showing the most recent available data if live sources aren’t responding.
Interoperability will be tested by running integration tests with each external API the app uses. These tests will check that data is being pulled in correctly, that the app can handle the different formats or quirks of each API, and that it responds properly when something goes wrong — like a timeout, broken response, or failed authentication. The goal is to make sure the system can still function and show useful results even when some external services don’t behave as expected. Success criteria:
Scalability will be tested using Apache JMeter to simulate multiple users interacting with the app at the same time. This includes actions like API polling, scraping sentiment data, and updating watchlists. The goal is to see how the system performs as the number of users increases. We’ll test with different user loads (e.g., 50, 100, 200 users) and monitor how the system handles the extra work. We’ll also check how well caching and load distribution help maintain performance when the service gets busy. Success Criteria:
The system will go through both normal use testing and stress testing to check how well it holds up. Functional tests will make sure data is showing correctly and being updated in a reasonable time during normal conditions. We’ll also simulate failures like delayed API responses or missing data to see if the app can handle those situations without breaking. JMeter will be used again to simulate lots of users at once, testing whether the data stays accurate and in sync with current markets under pressure. The aim is to make sure the app still works properly even when things go wrong or when it’s under heavy load. Success Criteria: