3IT31:MINI PROJECT
Stock Market Simulation Game
1. Project Definition :
A Stock Simulator application designed to replicate real-world stock trading for educational
purposes. It enables users to trade virtual stocks, analyze portfolio performance, and understand
market trends while integrating educational resources and analytics.
2. Project Objective :
The objective is to:
• Create a platform for virtual trading with real-time or simulated market data.
• Educate users about stock trading fundamentals.
• Provide tools for portfolio performance analysis and decision-making improvement.
• Incorporate gamification for better engagement.
3. Project Scope :
The project will include:
• User management and secure login systems.
• A trading interface with real-time or simulated stock market data.
• Portfolio analytics and performance tracking.
• Educational modules with tutorials and quizzes.
• Gamification through leaderboards and rewards.
Exclusions:
• No real-money trading or connection to live financial accounts.
1
3IT31:MINI PROJECT
4. Project Modules :
4.1. User Management System
The User Management System provides the foundation for secure user interactions within the
application. It includes:
• Registration: Allows users to create accounts by entering their credentials.
• Authentication: Implements secure login and logout functionality using hashed passwords.
• Profile Management: Enables users to update personal details such as username and
password.
• Session Management: Tracks user sessions securely to ensure proper access control.
Importance:
• Provides a personalized experience.
• Ensures security and privacy of user data.
4.2. Market Data Integration
This module involves fetching and displaying real-time or simulated market data. Key features
include:
• Stock Listings: Displays a list of stocks with relevant details like price, percentage change,
and volume.
• Real-Time Data Integration (Optional): Uses APIs like Yahoo Finance or Alpha Vantage
to fetch live stock prices.
• Simulated Data: Generates artificial stock data for users who don’t require real-time
information.
• Historical Data: Displays past performance trends for selected stocks.
Importance:
• Provides users with market insights for informed decision-making.
• Simulates real trading conditions.
4.3. Trading Platform
The Trading Platform forms the core functionality of the application. It enables users to:
2
3IT31:MINI PROJECT
• Buy and Sell Stocks: Place virtual orders to buy or sell stocks.
• Portfolio Management: Display the user’s current holdings, total balance, and profit/loss.
• Transaction History: Logs all trades made by the user with timestamps and details.
• Virtual Balance: Starts each user with a predefined amount of virtual money (e.g., $10,000).
Importance:
• Mimics real-world trading, offering a hands-on learning experience.
• Helps users track financial decisions and improve their skills.
4.4. Gamification Layer
The Gamification Layer makes the platform engaging by introducing competitive and rewarding
elements. Features include:
• Leaderboards: Displays top-performing users based on portfolio value.
• Challenges: Weekly or monthly trading challenges to boost user engagement.
• Badges and Rewards: Awards badges for milestones like “Best Trader of the Week”
or “First Trade.” Importance:
• Motivates users to stay active on the platform.
• Encourages learning through friendly competition.
4.5. Educational Module
The Educational Module equips users with the knowledge needed for trading. Features include:
• Tutorials: Step-by-step guides on stock trading basics, terminology, and strategies.
• Quizzes: Interactive tests to assess the user’s understanding of trading concepts.
• Case Studies: Real-world examples of successful and unsuccessful trading strategies.
• Trading Tips: Offers daily or weekly tips to improve decision-making.
Importance:
• Provides a comprehensive learning experience for beginners.
• Encourages informed trading decisions.
3
3IT31:MINI PROJECT
4.6. Analytics and Reporting
This module helps users analyze their trading performance. Key features include:
• Portfolio Analytics: Breaks down portfolio performance by sector, stock, or time period.
• Profit and Loss Reports: Displays net gains or losses for specified periods.
• Visualization Tools: Includes graphs and charts to show trends like portfolio growth or
stock performance.
Importance:
• Enables users to learn from past trades and improve their performance.
• Makes data interpretation easier with visual aids.
5. Project Basic Requirements :
[Link] Requirements:
• Processor: Intel i5 or equivalent.
• RAM: 8GB or higher.
• Storage: 10GB free disk space.
5. [Link] Requirements:
• Programming Language: Python 3.8+.
• Framework: Flask.
• Database: SQLite.
• Frontend: HTML, CSS, Bootstrap.
• Libraries: SQLAlchemy, Flask-WTF, Matplotlib.
6. Literature Review :
6.1 Title: "Stock Simulators in Education: Enhancing Financial Literacy"
• Literature Year: Likely published between 2020–2025, given the focus on financial literacy
and the increasing use of simulators in education.
4
3IT31:MINI PROJECT
• Details: Journals or conferences related to financial education, educational technology, or
finance pedagogy, such as:
o Journal of Financial Education o International Journal of Educational
Technology in Higher Education
o Computers & Education
6.2 Title: "Challenges in Market Data Integration: Real-Time API Usage"
• Literature Year: Likely published between 2018–2025, as real-time API integration is a
modern issue in financial technology.
• Details: Journals or conferences focusing on financial technology, data systems, or
software engineering, such as:
o Journal of Financial Data Science
o IEEE Access
o ACM Transactions on Software Engineering and Methodology
6.3 Title: "Gamification in Educational Platforms: Boosting Engagement"
• Literature Year: Likely published between 2015–2025, as gamification in education has
gained traction in recent years.
• Details: Journals or conferences related to educational technology, gamification, or user
experience, such as:
o Educational Technology Research and Development o Journal of
Educational Computing Research
o Computers in Human Behavior
6.4 Title: "Python-Based Web Development: Flask as a Lightweight Framework"
• Literature Year: Likely published between 2015–2025, with Flask gaining popularity as a
lightweight framework in recent years.
• Details: Journals or conferences focusing on web development, software engineering, or
Python programming, such as:
5
3IT31:MINI PROJECT
o Journal of Web Engineering o ACM
Transactions on the Web o Software:
Practice and Experience
6.5 Title: "Portfolio Analytics: Methods for Performance Tracking and Visualization"
• Literature Year: Likely published between 2018–2025, reflecting the growing need for
advanced portfolio analytics in the modern financial landscape.
• Details: Journals or conferences related to finance, data analytics, or investment strategies,
such as:
o Journal of Portfolio Management o Journal of Financial and
Quantitative Analysis
o Financial Analysts Journal
7. Project Feasibility Study :
7.1. Technical Feasibility:
• Uses Python, Flask, and SQLite, ensuring compatibility and availability.
7.2. Financial Feasibility:
• Development costs are minimal, relying on free or open-source tools.
7.3. Operational Feasibility:
• Designed to be user-friendly and requires minimal technical knowledge.
8. Project Requirement Gathering :
8.1. Techniques Used:
• Conducted surveys and interviews with students and trading enthusiasts.
• Performed a comparative analysis of existing tools like Yahoo Finance and
Robinhood.
6
3IT31:MINI PROJECT
8.2. Comparison of Existing Applications:
• Yahoo Finance: Provides detailed analytics but lacks trading simulation.
• Robinhood: Real-money trading platform, not beginner-friendly.
• Our Application: Targets beginners with gamification and educational
content.
9. Data Dictionary :
9.1. User Table:
Column Name Data Type Description
user_id INT (PK) Unique identifier for each user
username VARCHAR(50) User’s chosen name
email VARCHAR(100) User’s email address (unique)
password_hash VARCHAR(255) Hashed password for security
balance DECIMAL(10,2) Virtual trading balance
created_at TIMESTAMP Account creation timestamp
9.2. Admin Table:
Column Name Data Type Description
admin_id INT (PK) Unique identifier for each admin
username VARCHAR(50) Admin’s username
email VARCHAR(100) Admin’s email address (unique)
password_hash VARCHAR(255) Hashed password for security
role ENUM Defines admin responsibilities
(SUPER_ADMIN, QUIZ_ADMIN,
ANALYTICS_ADMIN)
7
3IT31:MINI PROJECT
created_at TIMESTAMP Admin account creation date
9.3. Stock Table:
Column Name Data Type Description
stock_id INT (PK) Unique identifier for each stock
stock_symbol VARCHAR(10) Ticker symbol (e.g., AAPL, TSLA)
company_name VARCHAR(100) Full company name
current_price DECIMAL(10,2) Current stock price
price_change DECIMAL(10,2) Price change from last update
volume INT Total stocks traded in a given period
9.4. Portfolio Table:
Column Name Data Type Description
portfolio_id INT (PK) Unique identifier for portfolio entry
user_id INT (FK) Reference to user table
stock_id INT (FK) Reference to stock table
quantity INT Number of shares owned
purchase_price DECIMAL(10,2) Price at which the stock was bought
purchase_date TIMESTAMP Date and time of purchase
total_profit DECIMAL(10,2) Total profit earned from the stock
total_loss DECIMAL(10,2) Total loss incurred from the stock
8
3IT31:MINI PROJECT
9.5. Transaction Table:
Column Name Data Type Description
transaction_id INT (PK) Unique identifier for each transaction
user_id INT (FK) Reference to user table
stock_id INT (FK) Reference to stock table
transaction_type ENUM Type of transaction (BUY, SELL)
quantity INT Number of stocks bought/sold
transaction_price DECIMAL(10,2) Price at which the transaction was made
transaction_date TIMESTAMP Timestamp of transaction
9.6. Leader board Table:
Column Name Data Type Description
leaderboard_id INT (PK) Unique identifier for leaderboard entry
user_id INT (FK) Reference to user table
total_portfolio_value DECIMAL(10,2) Total worth of the user’s portfolio
ranking INT Position in the leaderboard
last_updated TIMESTAMP Last update timestamp
9.7. Gamification Rewards Table:
Column Name Data Type Description
reward_id INT (PK) Unique identifier for rewards
user_id INT (FK) Reference to user table
reward_type ENUM Type of reward (BADGE, BONUS,
ACHIEVEMENT)
9
3IT31:MINI PROJECT
description VARCHAR(255) Description of the reward
awarded_on TIMESTAMP Timestamp when the reward was given
9.8. Quizzes Table:(Admin Managed)
Column Name Data Type Description
quiz_id INT (PK) Unique identifier for each quiz
title VARCHAR(255) Title of the quiz
total_marks INT Total marks of the quiz
created_by_admin INT (FK) Admin who created or updated the quiz
(references AdminID)
9.9. Quiz Questions Table:
Column Name Data Type Description
question_id INT (PK) Unique identifier for each question
quiz_id INT (FK) ID of the associated quiz
question_text TEXT Text of the question
option_a VARCHAR(255) First answer option
option_b VARCHAR(255) Second answer option
option_c VARCHAR(255) Third answer option
option_d VARCHAR(255) Fourth answer option
correct_option VARCHAR(1) Correct answer option (A/B/C/D)
10
3IT31:MINI PROJECT
9.10. Quiz Attempts Table:(Admin Viewable)
Column Name Data Type Description
attempt_id INT (PK) Unique identifier for each attempt
user_id INT (FK) ID of the user attempting the quiz
quiz_id INT (FK) ID of the associated quiz
score INT Marks obtained by the user
attempt_date DATE Date of quiz attempt
10. Use Case Diagram :
11
3IT31:MINI PROJECT
11. Class Diagram :
12
3IT31:MINI PROJECT
12. E-R Diagram :
13
3IT31:MINI PROJECT
14
3IT31:MINI PROJECT
13. Data Flow Diagram :
15
3IT31:MINI PROJECT
16
3IT31:MINI PROJECT
14. Sequence Diagram :
17
3IT31:MINI PROJECT
15. State Diagram :
18
3IT31:MINI PROJECT
16. Activity Diagram :
19
3IT31:MINI PROJECT
17. Project Timeline Chart :
20
3IT31:MINI PROJECT
18. Project Work Distribution :
Activities Responsibilities
Requirement Gathering Khushi Patel
Tirth Gohil
Project Definition, Objective & Scope Tirth Gohil
Project Modules Khushi Patel
Literature review Tirth Gohil
Project feasibility study Khushi Patel
Design Khushi Patel
Tirth Gohil
Coding Khushi Patel
Tirth Gohil
21
3IT31:MINI PROJECT
Date: Signature:
22