TradeX is a full-stack MERN-based trading platform that simulates an online stock trading experience. It allows users to securely register, verify their account using OTP, manage their portfolio, maintain a watchlist, and place buy/sell orders through an intuitive and responsive interface.
- 🔐 Secure User Authentication (JWT + Bcrypt)
- 📧 Email OTP Verification
- 👤 User Registration & Login
- 📊 Interactive Trading Dashboard
- 📈 Stock Price Charts
- 💼 Portfolio Management
- ⭐ Watchlist Functionality
- 💰 Buy & Sell Order Management
- 🔍 Stock Search
- 📄 Automated PDF Generation
- 🛡️ Security using Helmet, CORS, and Express Middleware
- React.js
- Vite
- Tailwind CSS
- React Router
- Axios
- Framer Motion
- Lightweight Charts
- Recharts
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- Bcrypt
- Nodemailer
- Express Validator
- Helmet
- CORS
- Morgan
TradeX
│
├── client/ # React Frontend
├── server/ # Express Backend
├── routes/ # API Routes
├── models/ # MongoDB Models
├── controllers/ # Business Logic
├── middleware/ # Authentication & Validation
├── utils/ # Helper Functions
└── config/ # Configuration Files
git clone https://github.com/your-username/TradeX.gitcd TradeXFrontend
cd client
npm installBackend
cd ../server
npm installCreate a .env file in the server directory and add the required configuration values such as:
- MongoDB URI
- JWT Secret
- Email Credentials
- Other environment-specific variables
Backend
npm run devFrontend
npm run dev- Authentication
- OTP Verification
- Trading Dashboard
- Portfolio
- Watchlist
- Buy/Sell Orders
- Stock Search
- Email Notifications
- PDF Reports
This project helped strengthen practical knowledge of:
- Full-Stack MERN Development
- REST API Development
- MongoDB Database Design
- JWT Authentication
- Secure Password Hashing
- Email Integration
- State Management in React
- API Integration
- Responsive UI Development
Contributions, suggestions, and improvements are welcome. Feel free to fork the repository and submit a pull request.
This project is developed for learning and portfolio purposes.