Stock Market Management System is a Python application that allows users to manage their stock portfolios, buy and sell shares of different companies, and track their wallet balances. This project is built using the CustomTkinter library for the graphical user interface and interacts with a MySQL database for user registration and data storage.
Name: Prem Ganesh Gaikwad
Affiliated with: SCTR's Pune Institute of Computer Technology
Educational Background: Bachelor of Engineering (E&TE)
Honors: Artificial Intelligence and Machine Learning
- User registration with details like full name, PAN card, Aadhar number, phone number, and initial balance.
- User login with phone number and password authentication.
- Display of the user's wallet balance.
- Buying and selling shares of different companies, with stock prices fetched from a database.
- Managing the user's portfolio, displaying the number of shares owned for each company.
- Option to add money to the wallet.
- User-friendly graphical user interface with a dark and light theme.
-
Clone the repository to your local machine:
git clone https://github.com/your-username/stock-market-management-system.git
-
Install the required Python libraries:
pip install -r ./requirements.txt
-
Database Setup:
- Create a MySQL database.
- Import the SQL script
stock_market_db.sql
provided in the repository to set up the database schema. - Update the database credentials in the
database_credentials.txt
file with the appropriate information, including the host, user, and password.
-
Run the application:
python app.py
- Upon launching the application, you can choose to either log in or sign up.
- If you are a new user, click on "Sign-Up" to register with your personal details and an initial balance.
- If you are an existing user, click on "Login" and enter your phone number and password to access your account.
- After logging in, you can view your wallet balance and your stock portfolio.
- You can also buy and sell shares of different companies from the available list.
To set up the database, follow these steps:
-
Create a MySQL database.
-
Run the SQL script
Create.sql
provided in the repository on your MySQL workbench. This script will create the necessary tables and schema for the application. -
Update the
database_credentials.txt
file with the correct database credentials, including the host, user, and password. This file is used by the application to connect to the database.
The StockUp
project provides a foundation for a stock trading and portfolio
management application. While the current version fulfills the initial requirements, there
is significant potential for further development and enhancements. Here are some future
scope possibilities for the project:
- Enhanced User Profiles:
- Implement more comprehensive user profiles, including personal information, investment preferences, and risk tolerance.
- Provide options for users to link their real brokerage accounts for live trading.
- Real-Time Data Integration:
- Integrate with real-time stock market data providers to offer users actual market data.
- Implement features like live stock quotes, real-time charts, and news feeds.
- Advanced Trading Features:
- Add advanced trading options, such as limit orders, stop-loss orders, and trailing stop orders.
- Implement technical analysis tools for users to make informed trading decisions.
- Security Enhancements:
- Enhance security measures to protect user data and financial information.
- Implement two-factor authentication and encryption for sensitive data.
- Educational Resources:
- Create a section for educational resources, including articles, tutorials, and webinars on stock trading and investment strategies.
- Gamification and Rewards:
- Implement gamification elements to make the app more engaging.
- Reward users for reaching trading milestones or achieving certain goals.
© Prem Gaikwad 2023