Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 Stockify – Stock Trading Platform

Stockify is a Java-based stock trading platform developed as an Object-Oriented Programming (OOP) project.

The application allows users to create an account, log in, view available stocks, buy and sell stocks, manage their portfolio, and view transaction history through a user-friendly graphical interface.

✨ Features:

  • 🔐 User Registration & Login
  • 💰 Starting Balance Management
  • 📊 View Available Stocks
  • 📈 Buy Stocks
  • 📉 Sell Stocks
  • 💼 Portfolio Management
  • 🧾 Transaction History
  • 💾 File I/O for Data Storage
  • 🖥️ User-Friendly Java Swing GUI
  • ✅ Input Validation and Error Handling

🛠️ Technologies Used:

  • Java
  • Java Swing
  • Object-Oriented Programming (OOP)
  • File I/O
  • NetBeans IDE

📂 Project Structure:

Stockify/ │ ├── src/ │ ├── gui/ │ │ └── StockTradingGUI.java │ │ │ ├── model/ │ │ ├── User.java │ │ ├── Stock.java │ │ └── Portfolio.java │ │ │ └── service/ │ ├── TradingPlatform.java │ └── FileManager.java │ ├── data/ │ ├── users.txt │ ├── stocks.txt │ └── transactions.txt │ ├── nbproject/ ├── build.xml └── README.md

🔐 Authentication:

Stockify provides a complete authentication system.

Users can:

Create a new account Set a starting balance Log in using their username and password Return to the login screen after logout

📊 Stock Market:

The Market section allows users to view available stocks and their information.

The stock table displays:

Stock Symbol Company Name Current Price Price Change Available Shares

💰Buy Stocks:

Users can select a stock from the market and enter the number of shares they want to purchase.

Before completing the purchase, the system displays the total cost and asks the user for confirmation.

The system checks:

Available balance Available shares Valid quantity

After a successful purchase, the user's balance, stock availability, and portfolio are automatically updated.

📉 Sell Stocks:

Users can sell stocks that they already own.

The system checks:

Whether the user owns the selected stock Number of shares available Valid selling quantity

After a successful sale, the user's balance and portfolio are updated automatically.

💼 Portfolio Management:

The Portfolio section allows users to view their current investments.

It displays:

Stock Symbol Shares Owned Current Price Current Value

This helps users keep track of their investments.

🧾 Transaction History:

Stockify maintains a transaction history for buying and selling activities.

Users can view their previous transactions through the Transactions section.

Transaction data is stored using File I/O.

💾 File I/O:

Stockify uses text files for persistent data storage.

The project uses File I/O to manage:

User data Stock data Portfolio-related data Transaction records

This allows important application data to remain available after the program is closed.

🖥️ Graphical User Interface:

The application is built using Java Swing and provides a modern dashboard-style interface.

Main GUI Screens Login Screen Create Account Screen Dashboard Market Portfolio Transaction History

The interface uses a clean color palette, organized layouts, tables, buttons, and informative cards to provide a better user experience.

📊 Dashboard:

The dashboard provides an overview of the user's trading account.

It displays:

Available Balance Number of Market Stocks Number of Owned Stocks Quick Access to Trading

🎯 Project Objectives:

The main objectives of this project are

To demonstrate Object-Oriented Programming concepts in Java. To implement File I/O for persistent data storage. To develop a functional GUI using Java Swing. To implement user authentication. To simulate basic stock trading operations. To practice classes, objects, methods, encapsulation, and data management. To create a complete Java-based desktop application.

🧠 OOP Concepts Used:

The project demonstrates several important OOP concepts, including:

Classes and Objects Encapsulation Constructors Methods Object Interaction Data Abstraction Modular Programming

🚀 How to Run: Requirements Java JDK NetBeans IDE Java Swing Git (optional, for cloning the repository) Steps Clone or download this repository. Open NetBeans IDE. Open the Stockify project. Make sure the data folder is present in the project directory. Build the project. Run the application. Create a new account or log in with an existing account. Explore the dashboard and start trading.

📁 Data Files:

The application uses text files to store data.

Example:

data/ ├── users.txt ├── stocks.txt └── transactions.txt

Make sure these files are available in the correct project directory before running the application.

⚠️ Important Note:

This project is an educational stock trading simulation. It does not perform real stock market transactions or use real financial accounts.

🎓 Project Type:

Java OOP / File I/O / GUI Project

Developed using:

Java + Swing + Object-Oriented Programming + File I/O

About

Java-based Stock Trading Platform with GUI and File I/O.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages