[FutureVest]
Abstract
Have you ever felt like ther’s a smarter way of growing your savings beyond low interest environments like index funds or a traditional savings account? FutureVest is a web-based platform built to help investors value stocks and discover the future growth potential of thousands of U.S. equities.
By offering customisable metrics, insightful valuation data, and powerful scanning tools, investors are able to project future growth of individual stocks and discovers others that match their investing thesis. FutureVest aims to simplify the process of growing wealth for beginner and expert level investors, focusing on long-term growth opportunities and market misprcings.
Author
Name: Gregory Chan
Student number: 46991683
Functionality
FutureVest is a web-based platform platform designed to help investors value stocks and discover growth opportunities across thousands of U.S. equities. The system provides powerful scanning tools, detailed valuation metrics, and educational resources to empower both beginner and experienced investors to make informed long-term decisions.
Features
- Account: Optional accounts allowing watchlists, alerts, and saved preferences.
- Stock search: Search for stocks with ticker symbol or company name.
- Stock scanning: Users can filter stocks by certain metrics (P/E, market cap, dividend yield, growth rate, sector, etc.) and view results as interactive cards with detail pop-ups.
- Valuation metrics display: When searching up stocks, valuation metrics such as current price, P/E ratio, dividend yield, market cap, earnings history, current sentiment rating, and a “FutureVest Valuation Score” based on PEG ratio will be displayed.
- Stock charts: Display with toggleable 1d, 1w, 1m, 1y candles.
- Educational tools: Question mark icons next to each key metric, explaining what each metric means and how it helps value stocks. Will be toggleable for advanced users for a more minimal UI.
- Future extensibility:
- Email and SMS alerts based on price/valuation changes.
- Stock community feature for stock disucssion and sharing watchlists.
- Stock comparison tool to view multiple stocks side-by-side.
- Deeper sentiment analysis and live news integration for each stock.
- Google/social media account registration.
Scope
- Account system:
- Users can create an account with basic registration (email, username, password)
- Users will be able to save favourite stocks to a watchlist and manage basic preferences
- Login/logout functionality with secure password handling
- Search and scanning:
- Search by ticker symbol or company name with auto complete suggestions
- Filtering of stocks using adjustable parameters:
- Market cap range
- Dividend presence toggle
- P/E ratio range
- TTM earnings growth
- Stock valuation display:
- Display valuation cards for each stock containing:
- Current price
- P/E ratio
- Dividend yield
- Market cap
- Earnings growth
- Simple FutureVest valuation rating using pe and earnings growth
- Interactive charts:
- Interactive chart with 1d, 1w, 1m, 1y candles
- Scan results view:
- Results presented as dynamic cards displayed beneath chart area, summarising key valuation metrics
- Educational tooltips:
- Question mark icons next to valuation metrics displaying explanations of each term and its importance
Quality Attributes
Reliability
Reliability is crucial for FutureVest as users need to trust that valuation metrics and financial data are accurate and consistently available. The system will implement fallback mechanisms to secondary APIs if the primary data source fails, along with scheduled data refresh intervals. Robust error handling will ensure that users are notified of issues without system crashes or incorrect outputs. Reliability will be measured through unit and integration testing, monitoring data accuracy, and observing system behavior under simulated load.
Scalability
FutureVest must support potentially high user traffic, especially during market opening hours or major financial events. The architecture will enable horizontal scaling of backend services, load balancing, and efficient caching for frequently requested data. Scalability will be tested by simulating increasing numbers of concurrent users and measuring system performance and response times using tools like K6.
Extensibility
Extensibility is essential for supporting future features, including sentiment analysis, stock comparisons, and community tools. The system will use a modular architecture with clearly defined interfaces, allowing new modules to be added with minimal disruption. Mid-project feature additions will be used to test extensibility, along with reviewing the clarity of interfaces and the independence of system components.
Security
Security is a core attribute to protect user data and platform integrity, especially with account functionality. The system will use HTTPS for all communications, enforce strong password requirements, and store passwords securely with hashing. API keys will be managed securely, and rate-limiting will be in place to mitigate abuse. Security will be evaluated through vulnerability scanning, penetration testing for common web application attacks, and continuous monitoring of authentication mechanisms.
Evaluation
Scalability
Scalability will be evaluated by simulating concurrent user traffic using load testing tools such as K6. Tests will be conducted during simulated market open times, where large numbers of users are likely to search and scan stocks simultaneously.
- Metrics: Average response times, throughput (requests/second), and error rates will be recorded and analysed.
- Goal: Maintain a response time under 500ms with up to 1000 simultaneous users, with minimal errors.
- Horizontal scaling verification: Confirm that backend services auto-scale with increasing load through server logs and cloud metrics.
Reliability
Reliability will be assessed by testing data accuracy and consistent delivery of financial metrics under normal and peak load conditions.
- Tests:
- Unit tests for all calculation components (valuation score, earnings growth, etc.).
- Integration tests between API services and the frontend display.
- Simulated API failures (by disabling the primary API) to check fallback mechanisms and error notifications.
- Goal: 99.9% uptime over a continuous 7-day observation window and consistent data accuracy between daily updates.
Extensibility
Extensibility will be evaluated by adding a mid-project feature (e.g., sentiment analysis or stock comparison tool) to test the flexibility of the system’s modular architecture.
- Tests:
- Time taken to add and deploy a new module without changes to core components.
- Dependency analysis to ensure minimal coupling.
- Documentation and interface clarity checks for future contributors.
- Goal: New modules should integrate within one week without requiring modifications to existing modules, demonstrating clean API boundaries and maintainability.
Security
While not a primary attribute, security will be tested alongside scalability and reliability to ensure safe operation.
- Tests:
- Penetration testing for common vulnerabilities (XSS, SQL Injection, CSRF).
- Password security verification (hashed and salted storage).
- Rate-limiting tests to prevent abuse of scanning functions.
- Goal: No critical vulnerabilities found in penetration tests, secure API key handling, and successful rate-limit enforcement during simulated attacks.