A full-stack Zerodha-inspired trading platform built with the MERN stack, featuring login/signup, buy/sell orders, holdings, positions, and a secure dashboard.
- 🔗 Frontend (Login/Signup): zerodha-himanshu.onrender.com
- 🔗 Dashboard (Post-login): zerodha-himansh.onrender.com
- 🔗 Backend API: zerodha-himans.onrender.com
Built using React.js, styled with Bootstrap 5 and custom CSS
react,react-router-dom@testing-library/*,web-vitals
REST API built with Express.js, with MongoDB for storage and JWT for authentication
express,mongoose,bcrypt,jsonwebtokenpassport,passport-local,helmet,dotenv,cors
Authenticated dashboard using React, Material UI, and Chart.js
@mui/material,@emotion/react,chart.js,axiosreact-chartjs-2,jsonwebtoken,react-router-dom
- ✅ User Signup & Login
- 📦 Order Placement (Buy/Sell)
- 📈 Holdings & P&L Calculation
- 📊 Live Dashboard (Chart.js + Material UI)
- 💼 Token-based Protected Routes
- ☁️ MongoDB Atlas integration
- ✨ Responsive UI (Bootstrap)
zerodha/
├── backend/ # Express.js Backend (API, MongoDB, Auth)
├── frontend/ # React Frontend (Login, Signup)
└── dashboard/ # Dashboard UI (Post-login)
- User Signup with hashed password (bcrypt)
- JWT-based login
- Token passed to dashboard via URL, stored in localStorage
- Frontend & Dashboard: Deployed via Render static site
- Backend API: Deployed as Node.js service on Render
# 1. Clone the repository
git clone https://github.com/himanshujaiswal8448/ZerodhaProject.git
# 2. Navigate to the folders and install dependencies
cd zerodha/frontend && npm install
cd ../backend && npm install
cd ../dashboard && npm installCreate a .env file inside backend/ and add:
MONGO_URL=your_mongodb_connection_string
JWT_SECRET=your_secret_key
-
Frontend: npm start (runs at http://localhost:3000)
-
Backend: nodemon index.js (runs at http://localhost:8080)
-
Dashboard: npm start (runs at http://localhost:3001)
- Practical implementation of full-stack architecture
- Token-based authentication and session management
- Data visualization using charts
- Responsive UI structuring and route protection
Pull requests are welcome. For major changes, please open an issue first.
This project is for educational purposes only and is not affiliated with Zerodha.
Made with ❤️ by Himanshu Jaiswal
Feel free to connect on LinkedIn
🌟 Show Your Support If you like this project, please ⭐ star it on GitHub and share it on LinkedIn!