A web-based stock trading simulator built using React, Material-UI, and Node.js. This application allows users to manage their portfolios, trade stocks/crypto, customize their dashboard, follow friends, read financial news, and much more.
Users can log in with the following required fields:
- Email: Must be registered and valid.
- Password: Must be registered and valid.
New users can create an account by providing:
- Username: Must be unique and valid.
- Email: Must be unique and valid.
- Password: At least 8 characters, includes one number, and one special character.
- Confirm Password: Must match the password.
Users can reset forgotten passwords by entering their registered email address.
The dashboard has 6 main components:
- Top bar
- Sidebar
- Tickers
- Graph, Watchlist, and Symbol Details
- Top Stories (News)
- Recent Transactions
- Dark/Light Mode Toggle: Switch between light and dark themes.
- Notifications: Displays friend requests.
- Logout: Logs the user out.
Navigate through the app using the sidebar, with options like:
- Dashboard
- Profile
- Friends
- News
- Trading Simulator
Users can customize ticker boxes to track stock symbols of interest. They can input a symbol, change, and save preferences.
A section displaying the last 10 trading transactions.
This component displays a financial chart for selected stocks or cryptos. Users can:
- View graphs: Click symbols on the watchlist to update the chart.
- Add/Remove symbols: Manage their watchlist by adding or removing symbols.
- Use drawing tools: Perform financial analysis using charting tools.
Users can manage their friends list:
- View Friends: Display friends and their avatars.
- Remove Friends: A pop-up confirmation appears before removal.
- View Friend Profiles: Clicking on avatars shows their trades and watchlists.
Users can view financial news related to their watchlist or search for specific stocks/cryptos.
- Autocomplete Search: Suggests stock symbols as users type.
- News Feed: Clicking a stock symbol retrieves the latest 40 news articles, sorted by relevancy and date.
A virtual stock trading simulator where users can:
- Trade stocks/cryptos: Buy and sell assets using virtual currency.
- View Portfolio: Displays account balance, positions, profits, and losses.
- Add Funds: Users can add virtual currency to their account.
- Frontend: React, Material-UI, React-router-dom
- Backend: Node.js, Supabase
- APIs: TradingView, Finnhub
- Email Service: Nodemailer with Gmail SMTP
- Database: PostgreSQL (via Supabase)