├── .gitignore ├── zerodha-clone-main ├── frontend │ ├── src │ │ ├── landing_page │ │ │ ├── signup │ │ │ │ └── Signup.js │ │ │ ├── about │ │ │ │ ├── AboutPage.js │ │ │ │ ├── Team.js │ │ │ │ └── Hero.js │ │ │ ├── pricing │ │ │ │ ├── PricingPage.js │ │ │ │ ├── Hero.js │ │ │ │ └── Brokerage.js │ │ │ ├── NotFound.js │ │ │ ├── support │ │ │ │ ├── SupportPage.js │ │ │ │ ├── Hero.js │ │ │ │ └── CreateTicket.js │ │ │ ├── home │ │ │ │ ├── HomePage.js │ │ │ │ ├── Hero.js │ │ │ │ ├── Education.js │ │ │ │ ├── Pricing.js │ │ │ │ ├── Awards.js │ │ │ │ └── Stats.js │ │ │ ├── products │ │ │ │ ├── RightSection.js │ │ │ │ ├── Hero.js │ │ │ │ ├── LeftSection.js │ │ │ │ ├── Universe.js │ │ │ │ └── ProductsPage.js │ │ │ ├── OpenAccount.js │ │ │ ├── Navbar.js │ │ │ └── Footer.js │ │ ├── index.css │ │ └── index.js │ ├── public │ │ ├── robots.txt │ │ ├── index.html │ │ └── manifest.json │ ├── .gitignore │ └── package.json ├── backend │ ├── .env │ ├── model │ │ ├── OrdersModel.js │ │ ├── HoldingsModel.js │ │ └── PositionsModel.js │ ├── schemas │ │ ├── OrdersSchema.js │ │ ├── HoldingsSchema.js │ │ └── PositionsSchema.js │ ├── package.json │ ├── index.js │ └── package-lock.json └── dashboard │ ├── public │ ├── robots.txt │ ├── logo.png │ └── index.html │ ├── .DS_Store │ ├── src │ ├── components │ │ ├── Apps.js │ │ ├── Home.js │ │ ├── DoughnoutChart.js │ │ ├── Orders.js │ │ ├── TopBar.js │ │ ├── VerticalGraph.js │ │ ├── GeneralContext.js │ │ ├── Dashboard.js │ │ ├── Positions.js │ │ ├── Summary.js │ │ ├── BuyActionWindow.js │ │ ├── Funds.js │ │ ├── Menu.js │ │ ├── Holdings.js │ │ ├── BuyActionWindow.css │ │ └── WatchList.js │ ├── index.js │ ├── data │ │ └── data.js │ └── index.css │ └── package.json └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | /README.md -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/src/landing_page/signup/Signup.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/.env: -------------------------------------------------------------------------------- 1 | MONGO_URL=<> 2 | -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashutosh-engineer/zerodha/HEAD/zerodha-clone-main/dashboard/.DS_Store -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashutosh-engineer/zerodha/HEAD/zerodha-clone-main/dashboard/public/logo.png -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/src/components/Apps.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const Apps = () => { 4 | return

Apps

; 5 | }; 6 | 7 | export default Apps; 8 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/model/OrdersModel.js: -------------------------------------------------------------------------------- 1 | const { model } = require("mongoose"); 2 | 3 | const { OrdersSchema } = require("../schemas/OrdersSchema"); 4 | 5 | const OrdersModel = new model("order", OrdersSchema); 6 | 7 | module.exports = { OrdersModel }; 8 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/model/HoldingsModel.js: -------------------------------------------------------------------------------- 1 | const { model } = require("mongoose"); 2 | 3 | const { HoldingsSchema } = require("../schemas/HoldingsSchema"); 4 | 5 | const HoldingsModel = new model("holding", HoldingsSchema); 6 | 7 | module.exports = { HoldingsModel }; 8 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/schemas/OrdersSchema.js: -------------------------------------------------------------------------------- 1 | const { Schema } = require("mongoose"); 2 | 3 | const OrdersSchema = new Schema({ 4 | name: String, 5 | qty: Number, 6 | price: Number, 7 | mode: String, 8 | }); 9 | 10 | module.exports = { OrdersSchema }; 11 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/model/PositionsModel.js: -------------------------------------------------------------------------------- 1 | const { model } = require("mongoose"); 2 | 3 | const { PositionsSchema } = require("../schemas/PositionsSchema"); 4 | 5 | const PositionsModel = new model("position", PositionsSchema); 6 | 7 | module.exports = { PositionsModel }; 8 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/schemas/HoldingsSchema.js: -------------------------------------------------------------------------------- 1 | const { Schema } = require("mongoose"); 2 | 3 | const HoldingsSchema = new Schema({ 4 | name: String, 5 | qty: Number, 6 | avg: Number, 7 | price: Number, 8 | net: String, 9 | day: String, 10 | }); 11 | 12 | module.exports = { HoldingsSchema }; 13 | -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/src/components/Home.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | import Dashboard from "./Dashboard"; 4 | import TopBar from "./TopBar"; 5 | 6 | const Home = () => { 7 | return ( 8 | <> 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default Home; 16 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/src/landing_page/about/AboutPage.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | import Hero from "./Hero"; 4 | import Team from "./Team"; 5 | 6 | function PricingPage() { 7 | return ( 8 | <> 9 | 10 | 11 | 12 | ); 13 | } 14 | 15 | export default PricingPage; 16 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/schemas/PositionsSchema.js: -------------------------------------------------------------------------------- 1 | const { Schema } = require("mongoose"); 2 | 3 | const PositionsSchema = new Schema({ 4 | product: String, 5 | name: String, 6 | qty: Number, 7 | avg: Number, 8 | price: Number, 9 | net: String, 10 | day: String, 11 | isLoss: Boolean, 12 | }); 13 | 14 | module.exports = { PositionsSchema }; 15 | -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/src/components/DoughnoutChart.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Chart as ChartJS, ArcElement, Tooltip, Legend } from "chart.js"; 3 | import { Doughnut } from "react-chartjs-2"; 4 | 5 | ChartJS.register(ArcElement, Tooltip, Legend); 6 | 7 | export function DoughnutChart({ data }) { 8 | return ; 9 | } 10 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/src/landing_page/pricing/PricingPage.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Hero from "./Hero"; 3 | import Brokerage from "./Brokerage"; 4 | import OpenAccount from "../OpenAccount"; 5 | 6 | function PricingPage() { 7 | return ( 8 | <> 9 | 10 | 11 | 12 | 13 | ); 14 | } 15 | 16 | export default PricingPage; 17 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | React App 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/src/landing_page/NotFound.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | function NotFound() { 4 | return ( 5 |
6 |
7 |

404 Not Found

8 |

Sorry, the page you are looking for does not exist.

9 |
10 |
11 | ); 12 | } 13 | 14 | export default NotFound; 15 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/src/landing_page/support/SupportPage.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | import Hero from "./Hero"; 4 | import CreateTicket from "./CreateTicket"; 5 | 6 | import Navbar from "../Navbar"; 7 | import Footer from "../Footer"; 8 | 9 | function PricingPage() { 10 | return ( 11 | <> 12 | 13 | 14 | 15 | ); 16 | } 17 | 18 | export default PricingPage; 19 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/src/components/Orders.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Link } from "react-router-dom"; 3 | 4 | const Orders = () => { 5 | return ( 6 |
7 |
8 |

You haven't placed any orders today

9 | 10 | 11 | Get started 12 | 13 |
14 |
15 | ); 16 | }; 17 | 18 | export default Orders; 19 | -------------------------------------------------------------------------------- /zerodha-clone-main/dashboard/src/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import { BrowserRouter, Route, Routes } from "react-router-dom"; 4 | import "./index.css"; 5 | import Home from "./components/Home"; 6 | 7 | const root = ReactDOM.createRoot(document.getElementById("root")); 8 | root.render( 9 | 10 | 11 | 12 | } /> 13 | 14 | 15 | 16 | ); 17 | -------------------------------------------------------------------------------- /zerodha-clone-main/backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "nodemon index.js" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "nodemon": "^3.1.0" 13 | }, 14 | "dependencies": { 15 | "body-parser": "^1.20.2", 16 | "cors": "^2.8.5", 17 | "dotenv": "^16.4.5", 18 | "express": "^4.18.3", 19 | "mongoose": "^8.2.1", 20 | "passport": "^0.7.0", 21 | "passport-local": "^1.0.0", 22 | "passport-local-mongoose": "^8.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /zerodha-clone-main/frontend/src/landing_page/home/HomePage.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Hero from "./Hero"; 3 | import Awards from "./Awards"; 4 | import Stats from "./Stats"; 5 | import Pricing from "./Pricing"; 6 | import Education from "./Education"; 7 | 8 | import OpenAccount from "../OpenAccount"; 9 | import Navbar from "../Navbar"; 10 | import Footer from "../Footer"; 11 | 12 | function HomePage() { 13 | return ( 14 | <> 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |