{"id":25105184,"url":"https://github.com/reynoldarun09/ecommerce-dashboard","last_synced_at":"2026-04-06T02:32:12.253Z","repository":{"id":275186450,"uuid":"925346157","full_name":"ReynoldArun09/Ecommerce-Dashboard","owner":"ReynoldArun09","description":"A feature-rich E-commerce Dashboard built with Node.js, Express, TypeScript, and MongoDB, providing a robust admin and manager panel to manage users, products, and orders efficiently.","archived":false,"fork":false,"pushed_at":"2025-03-04T04:30:02.000Z","size":152,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T12:24:30.928Z","etag":null,"topics":["axios","expressjs","node-js","prisma-orm","reactjs","tailwindcss","typescript","vite","websocket","zod","zod-validation","zustand"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReynoldArun09.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-31T17:48:06.000Z","updated_at":"2025-07-21T06:22:47.000Z","dependencies_parsed_at":"2025-03-04T05:23:37.663Z","dependency_job_id":"55884040-834f-40dc-a7a8-5d354fcd3220","html_url":"https://github.com/ReynoldArun09/Ecommerce-Dashboard","commit_stats":null,"previous_names":["reynoldarun09/ecommerce-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ReynoldArun09/Ecommerce-Dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReynoldArun09%2FEcommerce-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReynoldArun09%2FEcommerce-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReynoldArun09%2FEcommerce-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReynoldArun09%2FEcommerce-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReynoldArun09","download_url":"https://codeload.github.com/ReynoldArun09/Ecommerce-Dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReynoldArun09%2FEcommerce-Dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31457571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","expressjs","node-js","prisma-orm","reactjs","tailwindcss","typescript","vite","websocket","zod","zod-validation","zustand"],"created_at":"2025-02-07T22:52:49.558Z","updated_at":"2026-04-06T02:32:12.238Z","avatar_url":"https://github.com/ReynoldArun09.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛒 E-commerce Dashboard\n\nA feature-rich **E-commerce Dashboard** built with **Node.js, Express, TypeScript, and MongoDB**, providing a robust admin and manager panel to manage users, products, and orders efficiently.\n\n## ✨ Features\n\n### 🔐 Authentication \u0026 Authorization\n- Secure login system using **JWT (jsonwebtoken), bcrypt, and cookies**\n- **AuthMiddleware** for protected routes\n- **Role-based authorization** (Admin, Manager, User)\n\n### 👤 User Management\n- Full **CRUD operations** for users\n- **Admin-only** access to view all users\n- **Change user roles** (Admin can promote/demote users)\n\n### 📦 Product Management\n- **CRUD operations** for products\n- **Managers can only view products**\n\n### 📦 Order Management\n- **Bulk order assignment** if any orders are unassigned\n- **Assign single order to a manager** via **Socket.io**\n- **Real-time order status updates** with **Socket.io**\n\n### 📊 Stock Management\n- **Update stock in real-time** using **Socket.io**\n\n### 🛠️ Admin Privileges\n- **View all orders, products, and users**\n- **Manage order status updates in real-time**\n\n## 🚀 Tech Stack\n\n✅ **Node.js** | **Express.js** | **TypeScript** | **MongoDB** | **Socket.io** | **JWT \u0026 Bcrypt**\n\n\n### Local Development Setup\n\n### Prerequisites\n\n- Node.js (v22 or higher)\n\n## 📌 Installation\n\n1. **Clone the Repository**\n\n   ```bash\n   git clone https://github.com/ReynoldArun09/Ecommerce-Dashboard\n   cd Ecommerce-Dashboard\n   ```\n\n2. **Environment Configuration**\n   Both client and server contains .env file.\n   If env file missing create `.env` files in both client and server directories:\n\n   **Backend (.env)**\n\n   ```env\n   NODE_ENV = development\n   PORT = 3000\n   CORS_ORIGIN = \"http://localhost:5173\"\n   JWT_SECRET = \"verystrongsecret\"\n   DATABASE_URL=\"file:./dev.db\"\n   ```\n\n   **client (.env)**\n\n   ```env\n   VITE_BACKEND_URL = http://localhost:3000\n   ```\n\n3. **Install Dependencies**\n\n   ```bash\n   # Install server dependencies\n   cd server\n   npm install\n\n   # prisma setup - migration and seeding\n   npx prisma migrate dev --name init\n\n   #seed dummy data\n   npm run seed\n\n\n   # Install client dependencies\n   cd ../client\n   npm install\n\n   #testing admin account\n   - admin1@example.com\n   - hashedpassword123\n\n   #testing manager account\n   - manager1@example.com\n   - managerpass123\n\n   # To view prisma db run npx prisma studio in server directory\n\n   ```\n\n4. **Start Development Servers**\n\n   **Server**\n\n   ```bash\n   cd server\n   npm run dev\n   ```\n\n   **client (new terminal)**\n\n   ```bash\n   cd client\n   npm run dev\n   ```\n\n5. **Access the Application**\n   - client: http://localhost:5173\n   - server API: http://localhost:3000\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freynoldarun09%2Fecommerce-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freynoldarun09%2Fecommerce-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freynoldarun09%2Fecommerce-dashboard/lists"}