From 566849ad0161e8844590393c829fb8bb353a7854 Mon Sep 17 00:00:00 2001 From: Nooka Nikshith <2311cs020483@mallareddyuniversity.ac.in> Date: Sun, 24 May 2026 16:01:16 +0530 Subject: [PATCH 01/10] feat: ZenCoders - User Authentication, Cart & Checkout with Valkey Implemented hackathon challenges: User Authentication (login, register, session management), Shopping Cart (add/remove/quantity with auth gate), and Checkout with Order Processing (inventory tracking, order history). All data persisted in Valkey using Hashes, Strings with TTL, and Sorted Sets. --- ZENCODERS.md | 214 +++ backend/.gitignore | 2 + backend/config/valkey.js | 33 + backend/middleware/auth.js | 34 + backend/package-lock.json | 1596 +++++++++++++++++ backend/package.json | 17 + backend/routes/auth.js | 283 +++ backend/routes/orders.js | 186 ++ backend/server.js | 31 + frontend/src/App.js | 2 + frontend/src/components/Account.jsx | 169 +- frontend/src/components/AccountDashboard.jsx | 475 +++++ frontend/src/components/CartSection.jsx | 408 +---- frontend/src/components/Checkout.jsx | 685 ++++--- frontend/src/components/HeaderTwo.jsx | 12 +- frontend/src/components/ProductDetailsOne.jsx | 27 +- frontend/src/context/AuthContext.js | 74 + frontend/src/context/CartContext.js | 72 + frontend/src/helper/CartInterceptor.js | 107 ++ frontend/src/index.js | 8 +- frontend/src/index.scss | 9 +- frontend/src/services/authAPI.js | 72 + frontend/src/services/ordersAPI.js | 45 + 23 files changed, 3906 insertions(+), 655 deletions(-) create mode 100644 ZENCODERS.md create mode 100644 backend/.gitignore create mode 100644 backend/config/valkey.js create mode 100644 backend/middleware/auth.js create mode 100644 backend/package-lock.json create mode 100644 backend/package.json create mode 100644 backend/routes/auth.js create mode 100644 backend/routes/orders.js create mode 100644 backend/server.js create mode 100644 frontend/src/components/AccountDashboard.jsx create mode 100644 frontend/src/context/AuthContext.js create mode 100644 frontend/src/context/CartContext.js create mode 100644 frontend/src/helper/CartInterceptor.js create mode 100644 frontend/src/services/authAPI.js create mode 100644 frontend/src/services/ordersAPI.js diff --git a/ZENCODERS.md b/ZENCODERS.md new file mode 100644 index 00000000..ca1c4427 --- /dev/null +++ b/ZENCODERS.md @@ -0,0 +1,214 @@ +# πŸš€ ZenCoders β€” Valkey E-Commerce Authentication & Checkout System + +> **Team ZenCoders** | Build Beyond Limits Hackathon | Powered by Valkey Γ— React Hyderabad + +--- + +## 🎯 What We Built + +We took the static e-commerce frontend and transformed it into a **fully functional application** with real-time user authentication, session management, shopping cart, and order processing β€” all powered by **Valkey** as the primary data store. + +### Challenge Areas Implemented + +| # | Challenge | Status | +|---|-----------|--------| +| 1 | **User Authentication** β€” Login, Registration, Session Management | βœ… Complete | +| 2 | **Checkout & Order Processing** β€” Full order lifecycle with inventory tracking | βœ… Complete | +| 3 | **Shopping Cart** β€” Real-time cart with persistent state | βœ… Complete | + +--- + +## πŸ—οΈ Architecture + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ React Frontend │────▢│ Express Backend │────▢│ Valkey (Docker) β”‚ +β”‚ localhost:3000 β”‚ β”‚ localhost:5000 β”‚ β”‚ localhost:6379 β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + UI Layer API Layer Data Layer +``` + +--- + +## ⚑ Valkey Usage β€” How We Leverage Every Feature + +### 1. User Storage (Hashes) +``` +HSET user:nikki id username email password firstName lastName phone billingAddress shippingAddress +``` +Each user is a Valkey Hash β€” O(1) field access, no schema overhead. + +### 2. Session Management (Strings + TTL) +``` +SET session: '{"userId":"...","username":"nikki"}' EX 604800 +``` +Sessions auto-expire in 7 days. Logout = instant `DEL`. No database cleanup needed. + +### 3. Email-to-Username Mapping (Strings) +``` +SET email:user@example.com "nikki" +``` +Enables login by email OR username with a single key lookup. + +### 4. Order Storage (Hashes) +``` +HSET order:A3F2B1C9 id items shippingAddress total status createdAt +``` +Each order is a self-contained hash with JSON-serialized items. + +### 5. User Order History (Sorted Sets) +``` +ZADD orders:nikki "A3F2B1C9" +``` +Orders sorted by recency. `ZREVRANGE` gives latest-first pagination for free. + +### 6. Inventory Tracking (Strings) +``` +DECR inventory:prod-chromebook-001 +``` +Atomic decrement on purchase β€” no race conditions. + +--- + +## πŸ”₯ Features Implemented + +### Authentication System +- βœ… User registration with bcrypt password hashing +- βœ… Login via username OR email +- βœ… Token-based session management (UUID tokens stored in Valkey) +- βœ… Auto-session restoration on page reload +- βœ… Secure logout (server-side session invalidation) +- βœ… Password change with current password verification +- βœ… Profile update (name, phone, display name) +- βœ… Address management (billing + shipping) +- βœ… Auth-gated routes (cart requires login) + +### Shopping Cart +- βœ… Add to cart from any product listing (shop, vendors, homepage) +- βœ… Smart product extraction (name, price, image from DOM) +- βœ… Quantity controls (+/-) +- βœ… Remove items +- βœ… Persistent cart (survives page refresh via localStorage) +- βœ… Real-time cart badge in header +- βœ… Toast notifications on add ("Added to cart!") +- βœ… Auth gate β€” redirects to login if not authenticated + +### Checkout & Orders +- βœ… Full checkout form (shipping address, payment method) +- βœ… Order placement with Valkey persistence +- βœ… Automatic tax calculation (10%) +- βœ… Free shipping over $100 +- βœ… Order history in account dashboard +- βœ… Order detail view (items, address, summary) +- βœ… Status tracking (Processing β†’ Shipped β†’ Delivered) +- βœ… Inventory decrement on purchase + +### Account Dashboard +- βœ… Clean sidebar navigation with active states +- βœ… Dashboard overview with live order stats +- βœ… Orders tab with table + detail view +- βœ… Profile editing tab +- βœ… Address management (billing/shipping) +- βœ… Password change tab +- βœ… Responsive design matching app theme + +--- + +## πŸ› οΈ Tech Stack + +| Layer | Technology | +|-------|-----------| +| Frontend | React 18, React Router v6, Bootstrap 5, Phosphor Icons | +| Backend | Node.js, Express.js | +| Database | **Valkey** (Redis-compatible, all modules) | +| Auth | bcrypt + UUID session tokens | +| Container | Docker (valkey-bundle:9-alpine) | +| State | React Context API + localStorage | + +--- + +## πŸ“ Files Added/Modified + +### New β€” Backend (`/backend`) +``` +backend/ +β”œβ”€β”€ server.js # Express server entry point +β”œβ”€β”€ package.json # Dependencies +β”œβ”€β”€ config/ +β”‚ └── valkey.js # Valkey connection (ioredis) +β”œβ”€β”€ middleware/ +β”‚ └── auth.js # Token validation middleware +└── routes/ + β”œβ”€β”€ auth.js # Register, Login, Logout, Profile, Password + └── orders.js # Place order, Get orders, Get order by ID +``` + +### New β€” Frontend +``` +frontend/src/ +β”œβ”€β”€ context/ +β”‚ β”œβ”€β”€ AuthContext.js # Auth state management +β”‚ └── CartContext.js # Cart state management +β”œβ”€β”€ services/ +β”‚ β”œβ”€β”€ authAPI.js # Auth API calls +β”‚ └── ordersAPI.js # Orders API calls +β”œβ”€β”€ helper/ +β”‚ └── CartInterceptor.js # Global add-to-cart handler +└── components/ + └── AccountDashboard.jsx # Full account dashboard +``` + +### Modified β€” Frontend +``` +frontend/src/ +β”œβ”€β”€ App.js # Added CartInterceptor +β”œβ”€β”€ index.js # Wrapped with AuthProvider + CartProvider +β”œβ”€β”€ index.scss # Added toast animation +└── components/ + β”œβ”€β”€ Account.jsx # Wired login/register forms + β”œβ”€β”€ CartSection.jsx # Dynamic cart from context + β”œβ”€β”€ Checkout.jsx # Real checkout with order placement + β”œβ”€β”€ HeaderTwo.jsx # Auth-aware (username + cart count) + └── ProductDetailsOne.jsx # Working Add to Cart button +``` + +--- + +## πŸš€ How to Run + +```bash +# 1. Start Valkey +docker run -d --name valkey -p 6379:6379 valkey/valkey-bundle:9-alpine + +# 2. Start Backend +cd backend +npm install +npm start + +# 3. Start Frontend +cd frontend +npm install +npm start +``` + +Open http://localhost:3000 β†’ Register β†’ Shop β†’ Add to Cart β†’ Checkout β†’ View Orders πŸŽ‰ + +--- + +## πŸ‘₯ Team ZenCoders + +| Member | Role | +|--------|------| +| Nooka Nikshith | Full-Stack Developer | + +**University:** Malla Reddy University +**Email:** 2311cs020483@mallareddyuniversity.ac.in +**GitHub:** [@nikki-nooka](https://github.com/nikki-nooka) + +--- + +## πŸ“œ License + +MIT β€” Built for the Build Beyond Limits Hackathon powered by Valkey. diff --git a/backend/.gitignore b/backend/.gitignore new file mode 100644 index 00000000..713d5006 --- /dev/null +++ b/backend/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +.env diff --git a/backend/config/valkey.js b/backend/config/valkey.js new file mode 100644 index 00000000..fe265d1e --- /dev/null +++ b/backend/config/valkey.js @@ -0,0 +1,33 @@ +const Redis = require('ioredis'); + +let client; + +function connectValkey() { + client = new Redis({ + host: process.env.VALKEY_HOST || 'localhost', + port: process.env.VALKEY_PORT || 6379, + retryStrategy(times) { + const delay = Math.min(times * 50, 2000); + return delay; + } + }); + + client.on('connect', () => { + console.log('Connected to Valkey'); + }); + + client.on('error', (err) => { + console.error('Valkey connection error:', err.message); + }); + + return client; +} + +function getClient() { + if (!client) { + throw new Error('Valkey client not initialized. Call connectValkey() first.'); + } + return client; +} + +module.exports = { connectValkey, getClient }; diff --git a/backend/middleware/auth.js b/backend/middleware/auth.js new file mode 100644 index 00000000..27f1ff84 --- /dev/null +++ b/backend/middleware/auth.js @@ -0,0 +1,34 @@ +const { getClient } = require('../config/valkey'); + +/** + * Authentication middleware + * Validates the session token from the Authorization header + * and attaches user data to req.user + */ +async function authenticate(req, res, next) { + const authHeader = req.headers.authorization; + + if (!authHeader || !authHeader.startsWith('Bearer ')) { + return res.status(401).json({ error: 'No token provided' }); + } + + const token = authHeader.split(' ')[1]; + const valkey = getClient(); + + try { + const sessionData = await valkey.get(`session:${token}`); + + if (!sessionData) { + return res.status(401).json({ error: 'Invalid or expired session' }); + } + + req.user = JSON.parse(sessionData); + req.token = token; + next(); + } catch (err) { + console.error('Auth middleware error:', err); + return res.status(500).json({ error: 'Authentication failed' }); + } +} + +module.exports = { authenticate }; diff --git a/backend/package-lock.json b/backend/package-lock.json new file mode 100644 index 00000000..c3e1afe8 --- /dev/null +++ b/backend/package-lock.json @@ -0,0 +1,1596 @@ +{ + "name": "valkey-ecommerce-backend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "valkey-ecommerce-backend", + "version": "1.0.0", + "dependencies": { + "bcrypt": "^5.1.1", + "cors": "^2.8.5", + "express": "^4.18.2", + "ioredis": "^5.3.2", + "uuid": "^9.0.0" + } + }, + "node_modules/@ioredis/commands": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.5.1.tgz", + "integrity": "sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==", + "license": "MIT" + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aproba": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", + "license": "ISC" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bcrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.11", + "node-addon-api": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "license": "ISC" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT" + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "license": "ISC" + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ioredis": { + "version": "5.10.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.10.1.tgz", + "integrity": "sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==", + "license": "MIT", + "dependencies": { + "@ioredis/commands": "1.5.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/ioredis/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/ioredis/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "license": "MIT" + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "license": "MIT" + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "license": "MIT", + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + } + } +} diff --git a/backend/package.json b/backend/package.json new file mode 100644 index 00000000..7669d0d9 --- /dev/null +++ b/backend/package.json @@ -0,0 +1,17 @@ +{ + "name": "valkey-ecommerce-backend", + "version": "1.0.0", + "description": "Valkey-powered e-commerce backend with authentication", + "main": "server.js", + "scripts": { + "start": "node server.js", + "dev": "node server.js" + }, + "dependencies": { + "bcrypt": "^5.1.1", + "cors": "^2.8.5", + "express": "^4.18.2", + "ioredis": "^5.3.2", + "uuid": "^9.0.0" + } +} diff --git a/backend/routes/auth.js b/backend/routes/auth.js new file mode 100644 index 00000000..4406b608 --- /dev/null +++ b/backend/routes/auth.js @@ -0,0 +1,283 @@ +const express = require('express'); +const bcrypt = require('bcrypt'); +const { v4: uuidv4 } = require('uuid'); +const { getClient } = require('../config/valkey'); +const { authenticate } = require('../middleware/auth'); + +const router = express.Router(); + +const SESSION_TTL = 60 * 60 * 24 * 7; // 7 days in seconds +const SALT_ROUNDS = 10; + +/** + * POST /api/auth/register + * Register a new user + */ +router.post('/register', async (req, res) => { + const { username, email, password } = req.body; + + if (!username || !email || !password) { + return res.status(400).json({ error: 'Username, email, and password are required' }); + } + + if (password.length < 6) { + return res.status(400).json({ error: 'Password must be at least 6 characters' }); + } + + const valkey = getClient(); + + try { + // Check if username already exists + const existingUser = await valkey.hgetall(`user:${username.toLowerCase()}`); + if (existingUser && existingUser.username) { + return res.status(409).json({ error: 'Username already taken' }); + } + + // Check if email already exists + const existingEmail = await valkey.get(`email:${email.toLowerCase()}`); + if (existingEmail) { + return res.status(409).json({ error: 'Email already registered' }); + } + + // Hash password + const hashedPassword = await bcrypt.hash(password, SALT_ROUNDS); + + // Store user data in a Valkey hash + const userId = uuidv4(); + const userData = { + id: userId, + username: username.toLowerCase(), + email: email.toLowerCase(), + password: hashedPassword, + firstName: '', + lastName: '', + phone: '', + billingAddress: JSON.stringify({ street: '', city: '', state: '', zip: '', country: '' }), + shippingAddress: JSON.stringify({ street: '', city: '', state: '', zip: '', country: '' }), + createdAt: new Date().toISOString() + }; + + await valkey.hset(`user:${username.toLowerCase()}`, userData); + + // Create email -> username mapping for login by email + await valkey.set(`email:${email.toLowerCase()}`, username.toLowerCase()); + + // Create session + const token = uuidv4(); + const sessionData = { + userId, + username: username.toLowerCase(), + email: email.toLowerCase() + }; + + await valkey.set(`session:${token}`, JSON.stringify(sessionData), 'EX', SESSION_TTL); + + res.status(201).json({ + message: 'Registration successful', + token, + user: buildUserResponse(userData) + }); + } catch (err) { + console.error('Registration error:', err); + res.status(500).json({ error: 'Registration failed' }); + } +}); + +/** + * POST /api/auth/login + * Login with username/email and password + */ +router.post('/login', async (req, res) => { + const { username, password } = req.body; + + if (!username || !password) { + return res.status(400).json({ error: 'Username/email and password are required' }); + } + + const valkey = getClient(); + + try { + let lookupUsername = username.toLowerCase(); + + // If input looks like an email, resolve to username + if (username.includes('@')) { + const mappedUsername = await valkey.get(`email:${lookupUsername}`); + if (!mappedUsername) { + return res.status(401).json({ error: 'Invalid credentials' }); + } + lookupUsername = mappedUsername; + } + + // Get user data + const userData = await valkey.hgetall(`user:${lookupUsername}`); + if (!userData || !userData.username) { + return res.status(401).json({ error: 'Invalid credentials' }); + } + + // Verify password + const passwordMatch = await bcrypt.compare(password, userData.password); + if (!passwordMatch) { + return res.status(401).json({ error: 'Invalid credentials' }); + } + + // Create session + const token = uuidv4(); + const sessionData = { + userId: userData.id, + username: userData.username, + email: userData.email + }; + + await valkey.set(`session:${token}`, JSON.stringify(sessionData), 'EX', SESSION_TTL); + + res.json({ + message: 'Login successful', + token, + user: buildUserResponse(userData) + }); + } catch (err) { + console.error('Login error:', err); + res.status(500).json({ error: 'Login failed' }); + } +}); + +/** + * POST /api/auth/logout + * Invalidate the current session + */ +router.post('/logout', authenticate, async (req, res) => { + const valkey = getClient(); + + try { + await valkey.del(`session:${req.token}`); + res.json({ message: 'Logged out successfully' }); + } catch (err) { + console.error('Logout error:', err); + res.status(500).json({ error: 'Logout failed' }); + } +}); + +/** + * GET /api/auth/me + * Get current user profile (protected) + */ +router.get('/me', authenticate, async (req, res) => { + const valkey = getClient(); + + try { + const userData = await valkey.hgetall(`user:${req.user.username}`); + if (!userData || !userData.username) { + return res.status(404).json({ error: 'User not found' }); + } + res.json({ user: buildUserResponse(userData) }); + } catch (err) { + console.error('Profile fetch error:', err); + res.status(500).json({ error: 'Failed to fetch profile' }); + } +}); + +/** + * PUT /api/auth/profile + * Update user profile (protected) + */ +router.put('/profile', authenticate, async (req, res) => { + const { firstName, lastName, displayName, phone, billingAddress, shippingAddress } = req.body; + const valkey = getClient(); + + try { + const userData = await valkey.hgetall(`user:${req.user.username}`); + if (!userData || !userData.username) { + return res.status(404).json({ error: 'User not found' }); + } + + // Update fields + const updates = {}; + if (firstName !== undefined) updates.firstName = firstName; + if (lastName !== undefined) updates.lastName = lastName; + if (displayName !== undefined) updates.displayName = displayName; + if (phone !== undefined) updates.phone = phone; + if (billingAddress !== undefined) updates.billingAddress = JSON.stringify(billingAddress); + if (shippingAddress !== undefined) updates.shippingAddress = JSON.stringify(shippingAddress); + + if (Object.keys(updates).length > 0) { + await valkey.hset(`user:${req.user.username}`, updates); + } + + // Fetch updated user + const updatedUser = await valkey.hgetall(`user:${req.user.username}`); + res.json({ message: 'Profile updated', user: buildUserResponse(updatedUser) }); + } catch (err) { + console.error('Profile update error:', err); + res.status(500).json({ error: 'Failed to update profile' }); + } +}); + +/** + * PUT /api/auth/change-password + * Change password (protected) + */ +router.put('/change-password', authenticate, async (req, res) => { + const { currentPassword, newPassword } = req.body; + + if (!currentPassword || !newPassword) { + return res.status(400).json({ error: 'Current and new password are required' }); + } + + if (newPassword.length < 6) { + return res.status(400).json({ error: 'New password must be at least 6 characters' }); + } + + const valkey = getClient(); + + try { + const userData = await valkey.hgetall(`user:${req.user.username}`); + if (!userData || !userData.username) { + return res.status(404).json({ error: 'User not found' }); + } + + // Verify current password + const passwordMatch = await bcrypt.compare(currentPassword, userData.password); + if (!passwordMatch) { + return res.status(401).json({ error: 'Current password is incorrect' }); + } + + // Hash and save new password + const hashedPassword = await bcrypt.hash(newPassword, SALT_ROUNDS); + await valkey.hset(`user:${req.user.username}`, 'password', hashedPassword); + + res.json({ message: 'Password changed successfully' }); + } catch (err) { + console.error('Password change error:', err); + res.status(500).json({ error: 'Failed to change password' }); + } +}); + +/** + * Helper: Build a safe user response (no password) + */ +function buildUserResponse(userData) { + let billingAddress = { street: '', city: '', state: '', zip: '', country: '' }; + let shippingAddress = { street: '', city: '', state: '', zip: '', country: '' }; + + try { + if (userData.billingAddress) billingAddress = JSON.parse(userData.billingAddress); + } catch (e) {} + try { + if (userData.shippingAddress) shippingAddress = JSON.parse(userData.shippingAddress); + } catch (e) {} + + return { + id: userData.id, + username: userData.username, + email: userData.email, + firstName: userData.firstName || '', + lastName: userData.lastName || '', + displayName: userData.displayName || userData.username, + phone: userData.phone || '', + billingAddress, + shippingAddress, + createdAt: userData.createdAt + }; +} + +module.exports = router; diff --git a/backend/routes/orders.js b/backend/routes/orders.js new file mode 100644 index 00000000..158e2b03 --- /dev/null +++ b/backend/routes/orders.js @@ -0,0 +1,186 @@ +const express = require('express'); +const { v4: uuidv4 } = require('uuid'); +const { getClient } = require('../config/valkey'); +const { authenticate } = require('../middleware/auth'); + +const router = express.Router(); + +/** + * POST /api/orders + * Place a new order (protected) + */ +router.post('/', authenticate, async (req, res) => { + const { items, shippingAddress, paymentMethod, notes } = req.body; + + if (!items || !items.length) { + return res.status(400).json({ error: 'Order must contain at least one item' }); + } + + if (!shippingAddress || !shippingAddress.street || !shippingAddress.city) { + return res.status(400).json({ error: 'Shipping address is required' }); + } + + const valkey = getClient(); + + try { + const orderId = uuidv4().split('-')[0].toUpperCase(); // Short order ID like "A3F2B1C9" + const username = req.user.username; + + // Calculate totals + let subtotal = 0; + const orderItems = items.map(item => { + const itemTotal = item.price * item.quantity; + subtotal += itemTotal; + return { + productId: item.productId || uuidv4().split('-')[0], + name: item.name, + price: item.price, + quantity: item.quantity, + image: item.image || '', + total: itemTotal + }; + }); + + const tax = Math.round(subtotal * 0.1 * 100) / 100; // 10% tax + const shipping = subtotal > 100 ? 0 : 10; // Free shipping over $100 + const total = Math.round((subtotal + tax + shipping) * 100) / 100; + + const order = { + id: orderId, + username, + items: JSON.stringify(orderItems), + shippingAddress: JSON.stringify(shippingAddress), + paymentMethod: paymentMethod || 'Cash on delivery', + notes: notes || '', + subtotal, + tax, + shipping, + total, + status: 'Processing', + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString() + }; + + // Store order in Valkey hash + await valkey.hset(`order:${orderId}`, order); + + // Add order ID to user's order list (sorted set with timestamp as score) + await valkey.zadd(`orders:${username}`, Date.now(), orderId); + + // Update inventory (decrement stock for each item) + for (const item of orderItems) { + const currentStock = await valkey.get(`inventory:${item.productId}`); + if (currentStock !== null) { + const newStock = Math.max(0, parseInt(currentStock) - item.quantity); + await valkey.set(`inventory:${item.productId}`, newStock); + } + } + + res.status(201).json({ + message: 'Order placed successfully', + order: { + id: orderId, + items: orderItems, + shippingAddress, + paymentMethod: order.paymentMethod, + subtotal, + tax, + shipping, + total, + status: order.status, + createdAt: order.createdAt + } + }); + } catch (err) { + console.error('Order placement error:', err); + res.status(500).json({ error: 'Failed to place order' }); + } +}); + +/** + * GET /api/orders + * Get all orders for the current user (protected) + */ +router.get('/', authenticate, async (req, res) => { + const valkey = getClient(); + const username = req.user.username; + + try { + // Get order IDs sorted by most recent first + const orderIds = await valkey.zrevrange(`orders:${username}`, 0, -1); + + if (!orderIds.length) { + return res.json({ orders: [] }); + } + + const orders = []; + for (const orderId of orderIds) { + const orderData = await valkey.hgetall(`order:${orderId}`); + if (orderData && orderData.id) { + orders.push({ + id: orderData.id, + items: JSON.parse(orderData.items), + shippingAddress: JSON.parse(orderData.shippingAddress), + paymentMethod: orderData.paymentMethod, + subtotal: parseFloat(orderData.subtotal), + tax: parseFloat(orderData.tax), + shipping: parseFloat(orderData.shipping), + total: parseFloat(orderData.total), + status: orderData.status, + notes: orderData.notes, + createdAt: orderData.createdAt, + updatedAt: orderData.updatedAt + }); + } + } + + res.json({ orders }); + } catch (err) { + console.error('Fetch orders error:', err); + res.status(500).json({ error: 'Failed to fetch orders' }); + } +}); + +/** + * GET /api/orders/:id + * Get a single order by ID (protected) + */ +router.get('/:id', authenticate, async (req, res) => { + const valkey = getClient(); + const orderId = req.params.id; + + try { + const orderData = await valkey.hgetall(`order:${orderId}`); + + if (!orderData || !orderData.id) { + return res.status(404).json({ error: 'Order not found' }); + } + + // Verify the order belongs to this user + if (orderData.username !== req.user.username) { + return res.status(403).json({ error: 'Access denied' }); + } + + res.json({ + order: { + id: orderData.id, + items: JSON.parse(orderData.items), + shippingAddress: JSON.parse(orderData.shippingAddress), + paymentMethod: orderData.paymentMethod, + subtotal: parseFloat(orderData.subtotal), + tax: parseFloat(orderData.tax), + shipping: parseFloat(orderData.shipping), + total: parseFloat(orderData.total), + status: orderData.status, + notes: orderData.notes, + createdAt: orderData.createdAt, + updatedAt: orderData.updatedAt + } + }); + } catch (err) { + console.error('Fetch order error:', err); + res.status(500).json({ error: 'Failed to fetch order' }); + } +}); + +module.exports = router; diff --git a/backend/server.js b/backend/server.js new file mode 100644 index 00000000..abf8cf18 --- /dev/null +++ b/backend/server.js @@ -0,0 +1,31 @@ +const express = require('express'); +const cors = require('cors'); +const authRoutes = require('./routes/auth'); +const orderRoutes = require('./routes/orders'); +const { connectValkey } = require('./config/valkey'); + +const app = express(); +const PORT = process.env.PORT || 5000; + +// Middleware +app.use(cors({ + origin: 'http://localhost:3000', + credentials: true +})); +app.use(express.json()); + +// Connect to Valkey +connectValkey(); + +// Routes +app.use('/api/auth', authRoutes); +app.use('/api/orders', orderRoutes); + +// Health check +app.get('/api/health', (req, res) => { + res.json({ status: 'ok', service: 'valkey-ecommerce-backend' }); +}); + +app.listen(PORT, () => { + console.log(`Backend server running on http://localhost:${PORT}`); +}); diff --git a/frontend/src/App.js b/frontend/src/App.js index f232cdbe..8f47af7c 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,5 +1,6 @@ import { BrowserRouter, Route, Routes } from "react-router-dom"; import RouteScrollToTop from "./helper/RouteScrollToTop"; +import CartInterceptor from "./helper/CartInterceptor"; import HomePageOne from "./pages/HomePageOne"; import HomePageTwo from "./pages/HomePageTwo"; import HomePageThree from "./pages/HomePageThree"; @@ -24,6 +25,7 @@ function App() { + } /> diff --git a/frontend/src/components/Account.jsx b/frontend/src/components/Account.jsx index 3e293c0e..b3952856 100644 --- a/frontend/src/components/Account.jsx +++ b/frontend/src/components/Account.jsx @@ -1,28 +1,92 @@ -import React from 'react' -import { Link } from 'react-router-dom' +import React, { useState } from 'react' +import { Link, useNavigate } from 'react-router-dom' +import { useAuth } from '../context/AuthContext' +import AccountDashboard from './AccountDashboard' const Account = () => { + const { user, login, register } = useAuth(); + const navigate = useNavigate(); + + // Login form state + const [loginUsername, setLoginUsername] = useState(''); + const [loginPassword, setLoginPassword] = useState(''); + const [loginError, setLoginError] = useState(''); + const [loginLoading, setLoginLoading] = useState(false); + + // Register form state + const [regUsername, setRegUsername] = useState(''); + const [regEmail, setRegEmail] = useState(''); + const [regPassword, setRegPassword] = useState(''); + const [regError, setRegError] = useState(''); + const [regSuccess, setRegSuccess] = useState(''); + const [regLoading, setRegLoading] = useState(false); + + const handleLogin = async (e) => { + e.preventDefault(); + setLoginError(''); + setLoginLoading(true); + + try { + await login(loginUsername, loginPassword); + navigate('/account'); + } catch (err) { + setLoginError(err.message); + } finally { + setLoginLoading(false); + } + }; + + const handleRegister = async (e) => { + e.preventDefault(); + setRegError(''); + setRegSuccess(''); + setRegLoading(true); + + try { + await register(regUsername, regEmail, regPassword); + setRegSuccess('Registration successful!'); + setTimeout(() => navigate('/account'), 500); + } catch (err) { + setRegError(err.message); + } finally { + setRegLoading(false); + } + }; + + // If user is logged in, show the full dashboard + if (user) { + return ; + } + return (
-
-
- {/* Login Card Start */} -
-
-
Login
+
+ {/* Login Card Start */} +
+
+
Login
+ {loginError && ( +
+ {loginError} +
+ )} +
setLoginUsername(e.target.value)} + required />
@@ -38,24 +102,25 @@ const Account = () => { className="common-input" id="password" placeholder="Enter Password" - defaultValue="password" - /> - setLoginPassword(e.target.value)} + required />
-
-
+
- {/* Login Card End */} - {/* Register Card Start */} -
-
-
Register
+
+ {/* Login Card End */} + {/* Register Card Start */} +
+
+
Register
+ {regError && ( +
+ {regError} +
+ )} + {regSuccess && ( +
+ {regSuccess} +
+ )} +
setRegUsername(e.target.value)} + required />
@@ -102,13 +182,16 @@ const Account = () => { className="text-neutral-900 text-lg mb-8 fw-medium" > Email address - *{" "} + * setRegEmail(e.target.value)} + required />
@@ -124,12 +207,11 @@ const Account = () => { type="password" className="common-input" id="enter-password" - placeholder="Enter Password" - defaultValue="password" - /> - setRegPassword(e.target.value)} + minLength={6} + required />
@@ -139,26 +221,27 @@ const Account = () => { your experience throughout this website, and for other purposes described in our - {" "} - privacy policy - - . + {" "}privacy policy + .

-
-
+
- {/* Register Card End */}
- + {/* Register Card End */} +
- ) } -export default Account \ No newline at end of file +export default Account diff --git a/frontend/src/components/AccountDashboard.jsx b/frontend/src/components/AccountDashboard.jsx new file mode 100644 index 00000000..7f312587 --- /dev/null +++ b/frontend/src/components/AccountDashboard.jsx @@ -0,0 +1,475 @@ +import React, { useState, useEffect } from 'react' +import { Link, useSearchParams } from 'react-router-dom' +import { useAuth } from '../context/AuthContext' +import { ordersAPI } from '../services/ordersAPI' + +const AccountDashboard = () => { + const { user, logout, updateProfile, changePassword } = useAuth(); + const [searchParams] = useSearchParams(); + const initialTab = searchParams.get('tab') || 'dashboard'; + const [activeTab, setActiveTab] = useState(initialTab); + + const handleLogout = async () => { await logout(); }; + + const tabs = [ + { id: 'dashboard', label: 'Dashboard', icon: 'ph ph-squares-four' }, + { id: 'orders', label: 'Orders', icon: 'ph ph-package' }, + { id: 'profile', label: 'Account Details', icon: 'ph ph-user-circle' }, + { id: 'addresses', label: 'Addresses', icon: 'ph ph-map-pin' }, + { id: 'password', label: 'Change Password', icon: 'ph ph-lock' }, + ]; + + return ( +
+
+
+ {/* Sidebar */} +
+
+
+
+ {user.username.charAt(0).toUpperCase()} +
+
{user.username}
+

{user.email}

+
+
+ {tabs.map((tab) => ( + + ))} +
+ +
+
+
+ {/* Main Content */} +
+ {activeTab === 'dashboard' && } + {activeTab === 'orders' && } + {activeTab === 'profile' && } + {activeTab === 'addresses' && } + {activeTab === 'password' && } +
+
+
+
+ ); +}; + +/* ==================== DASHBOARD TAB ==================== */ +const DashboardTab = ({ user, setActiveTab }) => { + const [stats, setStats] = useState({ total: 0, pending: 0 }); + useEffect(() => { + ordersAPI.getOrders() + .then(data => { const o = data.orders || []; setStats({ total: o.length, pending: o.filter(x => x.status === 'Processing').length }); }) + .catch(() => {}); + }, []); + + return ( +
+ {/* Welcome */} +
+
Welcome back, {user.username} πŸ‘‹
+

Here's an overview of your account activity.

+
+ + {/* Stats */} +
+
+
setActiveTab('orders')}> + +

{stats.total}

+

Total Orders

+
+
+
+
+ +

{stats.pending}

+

Processing

+
+
+
+
+ +

0

+

Wishlist

+
+
+
+ + {/* Quick Actions */} +
+
+
+
+ +
+
+
Edit Profile
+

Update your personal details

+
+ +
+
+
+
+
+ +
+
+
Addresses
+

Manage shipping & billing

+
+ +
+
+
+
+
+ +
+
+
Password
+

Update your security settings

+
+ +
+
+
+ +
+ +
+
+
Shop
+

Continue browsing products

+
+ + +
+
+
+ ); +}; + +/* ==================== ORDERS TAB ==================== */ +const OrdersTab = () => { + const [orders, setOrders] = useState([]); + const [loading, setLoading] = useState(true); + const [selectedOrder, setSelectedOrder] = useState(null); + + useEffect(() => { + ordersAPI.getOrders() + .then(data => setOrders(data.orders)) + .catch(() => {}) + .finally(() => setLoading(false)); + }, []); + + if (loading) return

Loading orders...

; + + if (selectedOrder) { + return ( +
+
+ +
Order #{selectedOrder.id}
+ {selectedOrder.status} +
+
+
+ + + + + + + + + + + {selectedOrder.items.map((item, i) => ( + + + + + + + ))} + +
ProductPriceQtyTotal
{item.name}${item.price.toFixed(2)}{item.quantity}${item.total.toFixed(2)}
+
+
+
+
+
Shipping To
+

{selectedOrder.shippingAddress.firstName} {selectedOrder.shippingAddress.lastName}

+

{selectedOrder.shippingAddress.street}

+

{selectedOrder.shippingAddress.city}, {selectedOrder.shippingAddress.state} {selectedOrder.shippingAddress.zip}

+
+
+
+
+
Summary
+
Subtotal${selectedOrder.subtotal.toFixed(2)}
+
Tax${selectedOrder.tax.toFixed(2)}
+
Shipping{selectedOrder.shipping === 0 ? 'Free' : `$${selectedOrder.shipping.toFixed(2)}`}
+
+
Total${selectedOrder.total.toFixed(2)}
+
+
+
+

Payment: {selectedOrder.paymentMethod} β€’ Placed: {new Date(selectedOrder.createdAt).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' })}

+
+
+ ); + } + + return ( +
+
+
My Orders
+ {orders.length} +
+ {orders.length === 0 ? ( +
+ +
No orders yet
+

Your order history will appear here.

+ Browse Shop +
+ ) : ( +
+ + + + + + + + + + + + + {orders.map((order) => ( + + + + + + + + + ))} + +
OrderDateItemsStatusTotal
#{order.id}{new Date(order.createdAt).toLocaleDateString()}{order.items.length}{order.status}${order.total.toFixed(2)}
+
+ )} +
+ ); +}; + +/* ==================== PROFILE TAB ==================== */ +const ProfileTab = ({ user, updateProfile }) => { + const [firstName, setFirstName] = useState(user.firstName || ''); + const [lastName, setLastName] = useState(user.lastName || ''); + const [displayName, setDisplayName] = useState(user.username || ''); + const [email] = useState(user.email || ''); + const [phone, setPhone] = useState(user.phone || ''); + const [saving, setSaving] = useState(false); + const [message, setMessage] = useState(''); + const [error, setError] = useState(''); + + const handleSave = async (e) => { + e.preventDefault(); setSaving(true); setMessage(''); setError(''); + try { if (updateProfile) await updateProfile({ firstName, lastName, displayName, phone }); setMessage('Profile updated successfully!'); } + catch (err) { setError(err.message || 'Failed to update'); } + finally { setSaving(false); } + }; + + return ( +
+
+
Account Details
+
+
+ {message &&
{message}
} + {error &&
{error}
} +
+
+
+ + setFirstName(e.target.value)} /> +
+
+ + setLastName(e.target.value)} /> +
+
+ + setDisplayName(e.target.value)} required /> +
+
+ + setPhone(e.target.value)} /> +
+
+ + +

Email cannot be changed

+
+
+ +
+
+
+
+
+ ); +}; + +/* ==================== ADDRESSES TAB ==================== */ +const AddressesTab = ({ user, updateProfile }) => { + const [editingBilling, setEditingBilling] = useState(false); + const [editingShipping, setEditingShipping] = useState(false); + const [billingAddress, setBillingAddress] = useState(user.billingAddress || { street: '', city: '', state: '', zip: '', country: '' }); + const [shippingAddress, setShippingAddress] = useState(user.shippingAddress || { street: '', city: '', state: '', zip: '', country: '' }); + const [saving, setSaving] = useState(false); + const [message, setMessage] = useState(''); + + const handleSave = async (type) => { + setSaving(true); + try { + if (updateProfile) await updateProfile(type === 'billing' ? { billingAddress } : { shippingAddress }); + setMessage(`${type === 'billing' ? 'Billing' : 'Shipping'} address saved!`); + type === 'billing' ? setEditingBilling(false) : setEditingShipping(false); + } catch (err) { /* */ } + finally { setSaving(false); } + }; + + const AddressForm = ({ address, setAddress, onSave, onCancel }) => ( +
{ e.preventDefault(); onSave(); }}> +
+
setAddress({ ...address, street: e.target.value })} />
+
setAddress({ ...address, city: e.target.value })} />
+
setAddress({ ...address, state: e.target.value })} />
+
setAddress({ ...address, zip: e.target.value })} />
+
setAddress({ ...address, country: e.target.value })} />
+
+ + +
+
+
+ ); + + const AddressCard = ({ address, onEdit, label, icon }) => { + const hasAddress = address.street || address.city; + return ( +
+
+ +
{label}
+
+
+ {hasAddress ? ( +
+

{address.street}

+

{address.city}{address.state ? `, ${address.state}` : ''} {address.zip}

+

{address.country}

+ +
+ ) : ( +
+ +

No address added

+ +
+ )} +
+
+ ); + }; + + return ( +
+ {message &&
{message}
} +
+
+ {editingBilling ?
Edit Billing Address
handleSave('billing')} onCancel={() => setEditingBilling(false)} />
+ : setEditingBilling(true)} label="Billing Address" icon="ph ph-receipt" />} +
+
+ {editingShipping ?
Edit Shipping Address
handleSave('shipping')} onCancel={() => setEditingShipping(false)} />
+ : setEditingShipping(true)} label="Shipping Address" icon="ph ph-truck" />} +
+
+
+ ); +}; + +/* ==================== PASSWORD TAB ==================== */ +const PasswordTab = ({ changePassword }) => { + const [currentPassword, setCurrentPassword] = useState(''); + const [newPassword, setNewPassword] = useState(''); + const [confirmPassword, setConfirmPassword] = useState(''); + const [saving, setSaving] = useState(false); + const [message, setMessage] = useState(''); + const [error, setError] = useState(''); + + const handleSubmit = async (e) => { + e.preventDefault(); setMessage(''); setError(''); + if (newPassword !== confirmPassword) { setError('Passwords do not match'); return; } + if (newPassword.length < 6) { setError('Minimum 6 characters required'); return; } + setSaving(true); + try { if (changePassword) await changePassword(currentPassword, newPassword); setMessage('Password updated!'); setCurrentPassword(''); setNewPassword(''); setConfirmPassword(''); } + catch (err) { setError(err.message || 'Failed'); } + finally { setSaving(false); } + }; + + return ( +
+
+
Change Password
+
+
+ {message &&
{message}
} + {error &&
{error}
} +
+
+
+ + setCurrentPassword(e.target.value)} required /> +
+
+ + setNewPassword(e.target.value)} required minLength={6} /> +
+
+ + setConfirmPassword(e.target.value)} required minLength={6} /> +
+
+ +
+
+
+
+
+ ); +}; + +export default AccountDashboard diff --git a/frontend/src/components/CartSection.jsx b/frontend/src/components/CartSection.jsx index 1912b857..d7d389ee 100644 --- a/frontend/src/components/CartSection.jsx +++ b/frontend/src/components/CartSection.jsx @@ -1,8 +1,32 @@ import React from 'react' import { Link } from 'react-router-dom' -import QuantityControl from '../helper/QuantityControl' +import { useCart } from '../context/CartContext' const CartSection = () => { + const { cart, removeFromCart, updateQuantity, getCartTotal } = useCart(); + + const subtotal = getCartTotal(); + const tax = Math.round(subtotal * 0.1 * 100) / 100; + const shipping = subtotal > 100 ? 0 : 10; + const total = Math.round((subtotal + tax + shipping) * 100) / 100; + + if (!cart.length) { + return ( +
+
+
+ +
Your cart is empty
+

Browse our products and add items to your cart.

+ + Continue Shopping + +
+
+
+ ); + } + return (
@@ -21,326 +45,69 @@ const CartSection = () => { - - - - - -
- ( + + + + + +
+ {item.image && ( - Taylor Farms Broccoli Florets Vegetables - - -
-
- - - - - 4.8 - -
- - | - - - 128 Reviews - -
-
- - Camera - - - Videos + {item.name} + )} +
+
+ + {item.name} + +
-
- - - $125.00 - - - - - - $125.00 - - - - - - - -
- - - -
-
- - Taylor Farms Broccoli Florets Vegetables - -
-
-
- - - - - 4.8 - -
- - | - - - 128 Reviews - -
-
- - Camera - - - Videos - -
+ + + ${item.price.toFixed(2)} + + +
+ + {item.quantity} +
-
- - - $125.00 - - - - - - $125.00 - - - - - - - -
- - - -
-
- - Taylor Farms Broccoli Florets Vegetables - -
-
-
- - - - - 4.8 - -
- - | - - - 128 Reviews - -
-
- - Camera - - - Videos - -
-
-
- - - $125.00 - - - - - - $125.00 - - - - - - - -
- - - -
-
- - Taylor Farms Broccoli Florets Vegetables - -
-
-
- - - - - 4.8 - -
- - | - - - 128 Reviews - -
-
- - Camera - - - Videos - -
-
-
- - - $125.00 - - - - - - $125.00 - - + + + + ${(item.price * item.quantity).toFixed(2)} + + + + ))}
-
-
- - -
- -
@@ -349,40 +116,37 @@ const CartSection = () => {
Subtotal - $250.00 + ${subtotal.toFixed(2)}
- - Extimated Delivery + Shipping + + {shipping === 0 ? 'Free' : `$${shipping.toFixed(2)}`} - Free
- - Extimated Taxs - - USD 10.00 + Tax (10%) + ${tax.toFixed(2)}
Total - $250.00 + ${total.toFixed(2)}
- Proceed to checkout + Proceed to Checkout
- ) } -export default CartSection \ No newline at end of file +export default CartSection diff --git a/frontend/src/components/Checkout.jsx b/frontend/src/components/Checkout.jsx index a5bd349c..5767450a 100644 --- a/frontend/src/components/Checkout.jsx +++ b/frontend/src/components/Checkout.jsx @@ -1,321 +1,446 @@ import React, { useState } from 'react' -import { Link } from 'react-router-dom'; +import { Link, useNavigate } from 'react-router-dom'; +import { useCart } from '../context/CartContext'; +import { useAuth } from '../context/AuthContext'; +import { ordersAPI } from '../services/ordersAPI'; const Checkout = () => { - const [selectedPayment, setSelectedPayment] = useState("payment1"); + const { cart, getCartTotal, clearCart } = useCart(); + const { user } = useAuth(); + const navigate = useNavigate(); + + const [selectedPayment, setSelectedPayment] = useState("payment3"); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(''); + + // Form state + const [formData, setFormData] = useState({ + firstName: user?.firstName || '', + lastName: user?.lastName || '', + company: '', + country: '', + street: '', + apartment: '', + city: '', + state: '', + zip: '', + phone: user?.phone || '', + email: user?.email || '', + notes: '' + }); + + const handleChange = (e) => { + setFormData({ ...formData, [e.target.name]: e.target.value }); + }; const handlePaymentChange = (event) => { setSelectedPayment(event.target.id); }; + + const subtotal = getCartTotal(); + const tax = Math.round(subtotal * 0.1 * 100) / 100; + const shipping = subtotal > 100 ? 0 : 10; + const total = Math.round((subtotal + tax + shipping) * 100) / 100; + + const paymentLabels = { + payment1: 'Direct Bank Transfer', + payment2: 'Check Payment', + payment3: 'Cash on Delivery' + }; + + const handlePlaceOrder = async (e) => { + e.preventDefault(); + setError(''); + + if (!user) { + setError('Please login to place an order'); + return; + } + + if (!cart.length) { + setError('Your cart is empty'); + return; + } + + if (!formData.street || !formData.city || !formData.firstName) { + setError('Please fill in the required shipping details'); + return; + } + + setLoading(true); + + try { + const orderData = { + items: cart.map(item => ({ + productId: item.productId, + name: item.name, + price: item.price, + quantity: item.quantity, + image: item.image + })), + shippingAddress: { + firstName: formData.firstName, + lastName: formData.lastName, + street: formData.street, + apartment: formData.apartment, + city: formData.city, + state: formData.state, + zip: formData.zip, + country: formData.country, + phone: formData.phone + }, + paymentMethod: paymentLabels[selectedPayment], + notes: formData.notes + }; + + await ordersAPI.placeOrder(orderData); + clearCart(); + navigate('/account?tab=orders'); + } catch (err) { + setError(err.message); + } finally { + setLoading(false); + } + }; + + if (!cart.length) { + return ( +
+
+
+ +
Your cart is empty
+

Add some products before checking out.

+ + Go to Shop + +
+
+
+ ); + } + return (
-
- - Have a coupon?{" "} - - Click here to enter your code - {" "} - -
-
-
-
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-
Additional Information
+ {!user && ( +
+ + Please{" "} + + login to your account + {" "} + to place an order. + +
+ )} + {error && ( +
{error}
+ )} + +
+
+
+
+
-
-
- -
-
-
-
- - Your Orders - -
-
-
- - Product - - - Subtotal - -
-
-
- - HP Chromebook With Intel Celeron - - - - - - 1 - +
+
- - $250.00 - -
-
-
- - HP Chromebook With Intel Celeron - - - - - - 1 - +
+
- - $250.00 - -
-
-
- - HP Chromebook With Intel Celeron - - - - - - 1 - +
+
- - $250.00 - -
-
-
- - HP Chromebook With Intel Celeron - - - - - - 1 - +
+
- - $250.00 - -
-
-
- - Subtotal - - - $859.00 - +
+
-
- - Total - - - $859.00 - +
+
-
-
-
-
-
+
-
- {selectedPayment === 'payment1' && ( -
-

- Make your payment directly into our bank account. Please use your Order ID as the payment reference. Your order will not be shipped until the funds have cleared in our account. -

-
- )} -
-
-
+
-
- {selectedPayment === 'payment2' && ( -
-

- Make your payment directly into our bank account. Please use your Order ID as the payment reference. Your order will not be shipped until the funds have cleared in our account. -

-
- )} -
-
-
+
-
- {selectedPayment === 'payment3' && ( -
-

- Make your payment directly into our bank account. Please use your Order ID as the payment reference. Your order will not be shipped until the funds have cleared in our account. -

+
+ +
+
+
+
Additional Information
+
- )} +
-
-

- Your personal data will be used to process your order, support - your experience throughout this website, and for other purposes - described in our{" "} - - {" "} - privacy policy - {" "} - . -

+
+
+
+
+ + Your Order + +
+
+
+ + Product + + + Subtotal + +
+ {cart.map((item) => ( +
+
+ + {item.name} + + + + + + {item.quantity} + +
+ + ${(item.price * item.quantity).toFixed(2)} + +
+ ))} +
+
+ + Subtotal + + + ${subtotal.toFixed(2)} + +
+
+ + Tax (10%) + + + ${tax.toFixed(2)} + +
+
+ + Shipping + + + {shipping === 0 ? 'Free' : `$${shipping.toFixed(2)}`} + +
+
+ + Total + + + ${total.toFixed(2)} + +
+
+
+ {/* Payment Methods */} +
+
+
+ + +
+ {selectedPayment === 'payment1' && ( +
+

+ Make your payment directly into our bank account. Your order will be processed once funds are confirmed. +

+
+ )} +
+
+
+ + +
+ {selectedPayment === 'payment2' && ( +
+

+ Please send a check to our store. Your order will ship once the check clears. +

+
+ )} +
+
+
+ + +
+ {selectedPayment === 'payment3' && ( +
+

+ Pay with cash upon delivery. Please have the exact amount ready. +

+
+ )} +
+
+
+

+ Your personal data will be used to process your order, support + your experience throughout this website, and for other purposes + described in our{" "} + + privacy policy + . +

+
+
- - Place Order -
-
+
- ) } -export default Checkout \ No newline at end of file +export default Checkout diff --git a/frontend/src/components/HeaderTwo.jsx b/frontend/src/components/HeaderTwo.jsx index bb8fb6ba..5b01af1e 100644 --- a/frontend/src/components/HeaderTwo.jsx +++ b/frontend/src/components/HeaderTwo.jsx @@ -1,7 +1,11 @@ import React, { useEffect, useState } from "react"; import query from "jquery"; import { Link, NavLink } from "react-router-dom"; +import { useAuth } from "../context/AuthContext"; +import { useCart } from "../context/CartContext"; const HeaderTwo = ({ category }) => { + const { user } = useAuth(); + const { getCartCount } = useCart(); const [scroll, setScroll] = useState(false); useEffect(() => { window.onscroll = () => { @@ -642,7 +646,7 @@ const HeaderTwo = ({ category }) => { - Profile + {user ? user.username : 'Profile'} { - 2 + {getCartCount()} @@ -2174,7 +2178,7 @@ const HeaderTwo = ({ category }) => { - Profile + {user ? user.username : 'Profile'} { - 2 + {getCartCount()} diff --git a/frontend/src/components/ProductDetailsOne.jsx b/frontend/src/components/ProductDetailsOne.jsx index e8ae1601..e0131e37 100644 --- a/frontend/src/components/ProductDetailsOne.jsx +++ b/frontend/src/components/ProductDetailsOne.jsx @@ -1,9 +1,14 @@ import React, { useEffect, useState } from 'react' -import { Link } from 'react-router-dom'; +import { Link, useNavigate } from 'react-router-dom'; import Slider from 'react-slick'; import { getCountdown } from '../helper/Countdown'; +import { useCart } from '../context/CartContext'; +import { useAuth } from '../context/AuthContext'; const ProductDetailsOne = () => { + const { addToCart } = useCart(); + const { user } = useAuth(); + const navigate = useNavigate(); const [timeLeft, setTimeLeft] = useState(getCountdown()); useEffect(() => { @@ -190,13 +195,27 @@ const ProductDetailsOne = () => { - { + if (!user) { + navigate('/account'); + return; + } + addToCart({ + productId: 'prod-chromebook-001', + name: 'HP Chromebook With Intel Celeron', + price: 250.00, + quantity: quantity, + image: 'assets/images/thumbs/product-details-thumb1.png' + }); + navigate('/cart'); + }} > {" "} Add To Cart - +
{ + const token = localStorage.getItem('auth_token'); + if (token) { + authAPI.getProfile() + .then(data => setUser(data.user)) + .catch(() => { + localStorage.removeItem('auth_token'); + }) + .finally(() => setLoading(false)); + } else { + setLoading(false); + } + }, []); + + const login = async (username, password) => { + const data = await authAPI.login(username, password); + localStorage.setItem('auth_token', data.token); + setUser(data.user); + return data; + }; + + const register = async (username, email, password) => { + const data = await authAPI.register(username, email, password); + localStorage.setItem('auth_token', data.token); + setUser(data.user); + return data; + }; + + const logout = async () => { + try { + await authAPI.logout(); + } catch (err) { + // Even if the API call fails, clear local state + } + localStorage.removeItem('auth_token'); + setUser(null); + }; + + const updateProfile = async (profileData) => { + const data = await authAPI.updateProfile(profileData); + setUser(data.user); + return data; + }; + + const changePassword = async (currentPassword, newPassword) => { + const data = await authAPI.changePassword(currentPassword, newPassword); + return data; + }; + + const value = { user, loading, login, register, logout, updateProfile, changePassword }; + + return ( + + {children} + + ); +} + +export function useAuth() { + const context = useContext(AuthContext); + if (!context) { + throw new Error('useAuth must be used within an AuthProvider'); + } + return context; +} diff --git a/frontend/src/context/CartContext.js b/frontend/src/context/CartContext.js new file mode 100644 index 00000000..3eaa9507 --- /dev/null +++ b/frontend/src/context/CartContext.js @@ -0,0 +1,72 @@ +import React, { createContext, useContext, useState, useEffect } from 'react'; + +const CartContext = createContext(null); + +export function CartProvider({ children }) { + const [cart, setCart] = useState(() => { + const saved = localStorage.getItem('cart'); + return saved ? JSON.parse(saved) : []; + }); + + useEffect(() => { + localStorage.setItem('cart', JSON.stringify(cart)); + }, [cart]); + + const addToCart = (product) => { + setCart(prev => { + const existing = prev.find(item => item.productId === product.productId); + if (existing) { + return prev.map(item => + item.productId === product.productId + ? { ...item, quantity: item.quantity + (product.quantity || 1) } + : item + ); + } + return [...prev, { ...product, quantity: product.quantity || 1 }]; + }); + }; + + const removeFromCart = (productId) => { + setCart(prev => prev.filter(item => item.productId !== productId)); + }; + + const updateQuantity = (productId, quantity) => { + if (quantity <= 0) { + removeFromCart(productId); + return; + } + setCart(prev => + prev.map(item => + item.productId === productId ? { ...item, quantity } : item + ) + ); + }; + + const clearCart = () => { + setCart([]); + }; + + const getCartTotal = () => { + return cart.reduce((sum, item) => sum + item.price * item.quantity, 0); + }; + + const getCartCount = () => { + return cart.reduce((sum, item) => sum + item.quantity, 0); + }; + + const value = { cart, addToCart, removeFromCart, updateQuantity, clearCart, getCartTotal, getCartCount }; + + return ( + + {children} + + ); +} + +export function useCart() { + const context = useContext(CartContext); + if (!context) { + throw new Error('useCart must be used within a CartProvider'); + } + return context; +} diff --git a/frontend/src/helper/CartInterceptor.js b/frontend/src/helper/CartInterceptor.js new file mode 100644 index 00000000..f81b0cc3 --- /dev/null +++ b/frontend/src/helper/CartInterceptor.js @@ -0,0 +1,107 @@ +import { useEffect, useRef, useState } from 'react'; +import { useCart } from '../context/CartContext'; +import { useAuth } from '../context/AuthContext'; +import { useNavigate } from 'react-router-dom'; + +/** + * CartInterceptor - Intercepts "Add to Cart" link clicks. + * Shows a toast notification and updates cart without navigating away. + * If not logged in, redirects to /account. + */ +const CartInterceptor = () => { + const { addToCart } = useCart(); + const { user } = useAuth(); + const navigate = useNavigate(); + const [toast, setToast] = useState(null); + + const userRef = useRef(user); + const addToCartRef = useRef(addToCart); + const navigateRef = useRef(navigate); + + useEffect(() => { userRef.current = user; }, [user]); + useEffect(() => { addToCartRef.current = addToCart; }, [addToCart]); + useEffect(() => { navigateRef.current = navigate; }, [navigate]); + + useEffect(() => { + function handleClick(e) { + const link = e.target.closest('a[href="/cart"]'); + if (!link) return; + + const text = link.textContent.toLowerCase(); + if (!text.includes('add to cart')) return; + if (link.closest('.item-hover-two')) return; + + // Prevent React Router navigation + e.preventDefault(); + e.stopPropagation(); + + // Auth gate + if (!userRef.current) { + navigateRef.current('/account'); + return; + } + + // Extract product from card + const card = link.closest('.product-card') || link.parentElement; + let name = 'Product Item'; + let price = 14.99; + let image = ''; + + if (card) { + const nameEl = card.querySelector('.title a') || card.querySelector('h6 a') || card.querySelector('.title') || card.querySelector('h6'); + if (nameEl) name = nameEl.textContent.trim(); + + const priceContainer = card.querySelector('.product-card__price'); + const searchIn = priceContainer ? priceContainer.querySelectorAll('span') : card.querySelectorAll('span'); + for (const s of searchIn) { + if (s.classList.contains('text-decoration-line-through')) continue; + const m = s.textContent.match(/\$(\d+\.?\d*)/); + if (m) { price = parseFloat(m[1]); break; } + } + + const img = card.querySelector('img'); + if (img) image = img.src || ''; + } + + const productId = 'prod-' + name.toLowerCase().replace(/[^a-z0-9]/g, '-').substring(0, 30); + addToCartRef.current({ productId, name, price, quantity: 1, image }); + + // Show toast + setToast(name); + setTimeout(() => setToast(null), 2500); + } + + document.addEventListener('click', handleClick, true); + return () => document.removeEventListener('click', handleClick, true); + }, []); + + // Toast notification + if (toast) { + return ( +
+ +
+

Added to cart!

+

{toast}

+
+ +
+ ); + } + + return null; +}; + +export default CartInterceptor; diff --git a/frontend/src/index.js b/frontend/src/index.js index 7ee60ba5..a159f0a3 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -3,13 +3,19 @@ import ReactDOM from "react-dom/client"; import "bootstrap/dist/js/bootstrap.bundle.min"; import 'select2/dist/js/select2.min.js'; import App from "./App"; +import { AuthProvider } from "./context/AuthContext"; +import { CartProvider } from "./context/CartContext"; import reportWebVitals from "./reportWebVitals"; import "./index.scss"; const root = ReactDOM.createRoot(document.getElementById("root")); root.render( <> - + + + + + ); diff --git a/frontend/src/index.scss b/frontend/src/index.scss index 6e8d2465..1a224bee 100644 --- a/frontend/src/index.scss +++ b/frontend/src/index.scss @@ -3,4 +3,11 @@ @import "slick-carousel/slick/slick.css"; @import "slick-carousel/slick/slick-theme.css"; @import 'select2/dist/css/select2.min.css'; -@import "/public/assets/sass/main.scss"; \ No newline at end of file +@import "/public/assets/sass/main.scss"; + + +// Cart toast animation +@keyframes slideUp { + from { transform: translateY(20px); opacity: 0; } + to { transform: translateY(0); opacity: 1; } +} diff --git a/frontend/src/services/authAPI.js b/frontend/src/services/authAPI.js new file mode 100644 index 00000000..c74ffbfe --- /dev/null +++ b/frontend/src/services/authAPI.js @@ -0,0 +1,72 @@ +const API_BASE = 'http://localhost:5000/api/auth'; + +function getHeaders() { + const headers = { 'Content-Type': 'application/json' }; + const token = localStorage.getItem('auth_token'); + if (token) { + headers['Authorization'] = `Bearer ${token}`; + } + return headers; +} + +async function handleResponse(response) { + const data = await response.json(); + if (!response.ok) { + throw new Error(data.error || 'Request failed'); + } + return data; +} + +export const authAPI = { + async register(username, email, password) { + const response = await fetch(`${API_BASE}/register`, { + method: 'POST', + headers: getHeaders(), + body: JSON.stringify({ username, email, password }) + }); + return handleResponse(response); + }, + + async login(username, password) { + const response = await fetch(`${API_BASE}/login`, { + method: 'POST', + headers: getHeaders(), + body: JSON.stringify({ username, password }) + }); + return handleResponse(response); + }, + + async logout() { + const response = await fetch(`${API_BASE}/logout`, { + method: 'POST', + headers: getHeaders() + }); + return handleResponse(response); + }, + + async getProfile() { + const response = await fetch(`${API_BASE}/me`, { + method: 'GET', + headers: getHeaders() + }); + return handleResponse(response); + }, + + async updateProfile(profileData) { + const response = await fetch(`${API_BASE}/profile`, { + method: 'PUT', + headers: getHeaders(), + body: JSON.stringify(profileData) + }); + return handleResponse(response); + }, + + async changePassword(currentPassword, newPassword) { + const response = await fetch(`${API_BASE}/change-password`, { + method: 'PUT', + headers: getHeaders(), + body: JSON.stringify({ currentPassword, newPassword }) + }); + return handleResponse(response); + } +}; diff --git a/frontend/src/services/ordersAPI.js b/frontend/src/services/ordersAPI.js new file mode 100644 index 00000000..216eb8a6 --- /dev/null +++ b/frontend/src/services/ordersAPI.js @@ -0,0 +1,45 @@ +const API_BASE = 'http://localhost:5000/api/orders'; + +function getHeaders() { + const headers = { 'Content-Type': 'application/json' }; + const token = localStorage.getItem('auth_token'); + if (token) { + headers['Authorization'] = `Bearer ${token}`; + } + return headers; +} + +async function handleResponse(response) { + const data = await response.json(); + if (!response.ok) { + throw new Error(data.error || 'Request failed'); + } + return data; +} + +export const ordersAPI = { + async placeOrder(orderData) { + const response = await fetch(API_BASE, { + method: 'POST', + headers: getHeaders(), + body: JSON.stringify(orderData) + }); + return handleResponse(response); + }, + + async getOrders() { + const response = await fetch(API_BASE, { + method: 'GET', + headers: getHeaders() + }); + return handleResponse(response); + }, + + async getOrder(orderId) { + const response = await fetch(`${API_BASE}/${orderId}`, { + method: 'GET', + headers: getHeaders() + }); + return handleResponse(response); + } +}; From 8480f8e6c1c4092f224f351d6f7656060362ea33 Mon Sep 17 00:00:00 2001 From: Nooka Nikshith <2311cs020483@mallareddyuniversity.ac.in> Date: Sun, 24 May 2026 16:07:01 +0530 Subject: [PATCH 02/10] docs: Add all ZenCoders team members --- ZENCODERS.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ZENCODERS.md b/ZENCODERS.md index ca1c4427..bfaeeb99 100644 --- a/ZENCODERS.md +++ b/ZENCODERS.md @@ -201,7 +201,10 @@ Open http://localhost:3000 β†’ Register β†’ Shop β†’ Add to Cart β†’ Checkout | Member | Role | |--------|------| -| Nooka Nikshith | Full-Stack Developer | +| Nooka Nikshith | Full-Stack Developer & Team Lead | +| Namburi Rishika | Frontend Developer | +| Pacha Likhitha Sai | Backend Developer | +| Rajkamal Pathgani | Database & DevOps | **University:** Malla Reddy University **Email:** 2311cs020483@mallareddyuniversity.ac.in From ee54d7dd8cce2e0270a920c85c7b32e559794907 Mon Sep 17 00:00:00 2001 From: Nooka Nikshith <2311cs020483@mallareddyuniversity.ac.in> Date: Sun, 24 May 2026 16:23:30 +0530 Subject: [PATCH 03/10] docs: Add proof-of-work screenshots showing Valkey integration --- ZENCODERS.md | 27 +++++++++++++++++++++++++ proof-of-work/.gitkeep | 0 proof-of-work/ACCOUNT-DASHBOARD.png | Bin 0 -> 117372 bytes proof-of-work/accounts.png | Bin 0 -> 19585 bytes proof-of-work/dashboard-of-user.png | Bin 0 -> 140969 bytes proof-of-work/orders-via-dashboard.png | Bin 0 -> 124456 bytes proof-of-work/orders.png | Bin 0 -> 7693 bytes proof-of-work/sessions.png | Bin 0 -> 7433 bytes proof-of-work/user-specific.png | Bin 0 -> 24079 bytes 9 files changed, 27 insertions(+) create mode 100644 proof-of-work/.gitkeep create mode 100644 proof-of-work/ACCOUNT-DASHBOARD.png create mode 100644 proof-of-work/accounts.png create mode 100644 proof-of-work/dashboard-of-user.png create mode 100644 proof-of-work/orders-via-dashboard.png create mode 100644 proof-of-work/orders.png create mode 100644 proof-of-work/sessions.png create mode 100644 proof-of-work/user-specific.png diff --git a/ZENCODERS.md b/ZENCODERS.md index bfaeeb99..707554e4 100644 --- a/ZENCODERS.md +++ b/ZENCODERS.md @@ -212,6 +212,33 @@ Open http://localhost:3000 β†’ Register β†’ Shop β†’ Add to Cart β†’ Checkout --- +--- + +## πŸ“Έ Proof of Work + +### Account Dashboard +![Account Dashboard](proof-of-work/ACCOUNT-DASHBOARD.png) + +### User Accounts in Valkey +![Accounts](proof-of-work/accounts.png) + +### Dashboard β€” Logged In User +![Dashboard of User](proof-of-work/dashboard-of-user.png) + +### Orders via Dashboard +![Orders via Dashboard](proof-of-work/orders-via-dashboard.png) + +### Order Data in Valkey +![Orders](proof-of-work/orders.png) + +### Active Sessions in Valkey +![Sessions](proof-of-work/sessions.png) + +### User-Specific Data in Valkey +![User Specific](proof-of-work/user-specific.png) + +--- + ## πŸ“œ License MIT β€” Built for the Build Beyond Limits Hackathon powered by Valkey. diff --git a/proof-of-work/.gitkeep b/proof-of-work/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/proof-of-work/ACCOUNT-DASHBOARD.png b/proof-of-work/ACCOUNT-DASHBOARD.png new file mode 100644 index 0000000000000000000000000000000000000000..12882f853a22c3dc0756cabf021773d01312529b GIT binary patch literal 117372 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 z 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 XAtK<&oPFfS0nVIq`GxSWE5H9I+nq^G literal 0 HcmV?d00001 diff --git a/proof-of-work/accounts.png b/proof-of-work/accounts.png new file mode 100644 index 0000000000000000000000000000000000000000..399a1b197e65e876a3d885246c05c0e27aafdd10 GIT binary patch literal 19585 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%0AnfxlZ~ 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\XjDX{Z^#}z$Q3A7(il3oEd4TeK;%<318U6m7JD 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 literal 0 HcmV?d00001 diff --git a/proof-of-work/orders.png b/proof-of-work/orders.png new file mode 100644 index 0000000000000000000000000000000000000000..7fc81778cde38ad4b5d25da7977cd793d15a9d49 GIT binary patch literal 7693 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 literal 0 HcmV?d00001 diff --git a/proof-of-work/sessions.png b/proof-of-work/sessions.png new file mode 100644 index 0000000000000000000000000000000000000000..ffacef3d7926cf0ee83a8ecb593931f93a2b49b1 GIT binary patch literal 7433 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 literal 0 HcmV?d00001 From acb380a46de27a686cc8ca559d3a51ebbd24dc42 Mon Sep 17 00:00:00 2001 From: Nooka Nikshith <2311cs020483@mallareddyuniversity.ac.in> Date: Sun, 24 May 2026 16:43:44 +0530 Subject: [PATCH 04/10] feat: ZenCoders - Add intro animation & update homepage banner --- frontend/src/components/BannerOne.jsx | 4 +- frontend/src/helper/IntroAnimation.jsx | 102 ++++++++++ frontend/src/index.js | 13 +- frontend/src/index.scss | 267 +++++++++++++++++++++++++ 4 files changed, 379 insertions(+), 7 deletions(-) create mode 100644 frontend/src/helper/IntroAnimation.jsx diff --git a/frontend/src/components/BannerOne.jsx b/frontend/src/components/BannerOne.jsx index 4d0bcfdc..8113f5ce 100644 --- a/frontend/src/components/BannerOne.jsx +++ b/frontend/src/components/BannerOne.jsx @@ -81,7 +81,7 @@ const BannerOne = () => {

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 literal 0 HcmV?d00001 diff --git a/proof-of-work/orders-via-dashboard.png b/proof-of-work/orders-via-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..afcf0005babba0cbb44396fb0be482123ce2851d GIT binary patch literal 124456 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

- + Valkey Store
@@ -102,7 +102,7 @@ const BannerOne = () => {
- + Valkey Store
diff --git a/frontend/src/helper/IntroAnimation.jsx b/frontend/src/helper/IntroAnimation.jsx new file mode 100644 index 00000000..a516fbb7 --- /dev/null +++ b/frontend/src/helper/IntroAnimation.jsx @@ -0,0 +1,102 @@ +import React, { useState, useEffect } from 'react'; + +const IntroAnimation = ({ children }) => { + const [show, setShow] = useState(() => !sessionStorage.getItem('intro_seen')); + const [phase, setPhase] = useState('loading'); // loading β†’ reveal β†’ done + + useEffect(() => { + if (!show) return; + const revealTimer = setTimeout(() => setPhase('reveal'), 3500); + const doneTimer = setTimeout(() => { + setShow(false); + sessionStorage.setItem('intro_seen', 'true'); + }, 4500); + return () => { clearTimeout(revealTimer); clearTimeout(doneTimer); }; + }, [show]); + + if (!show) return children; + + return ( + <> +
+ {/* Particle background */} +
+ {[...Array(30)].map((_, i) => ( +
+ ))} +
+ + {/* Glowing orbs */} +
+
+
+ + {/* Main content */} +
+ {/* Hexagon logo */} +
+
+ + + + + + + + + +
+ + + + +
+
+ {/* Orbiting dots */} +
+
+
+
+
+
+
+ + {/* Text */} +
+

+ {'VALKEY'.split('').map((char, i) => ( + {char} + ))} + + {'STORE'.split('').map((char, i) => ( + {char} + ))} +

+
+

+ Next-Gen E-Commerce + β€’ + Powered by Valkey +

+
+ + {/* Team badge */} +
+ Built by + ZenCoders +
+
+
+ {children} + + ); +}; + +export default IntroAnimation; diff --git a/frontend/src/index.js b/frontend/src/index.js index a159f0a3..94305f92 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -5,17 +5,20 @@ import 'select2/dist/js/select2.min.js'; import App from "./App"; import { AuthProvider } from "./context/AuthContext"; import { CartProvider } from "./context/CartContext"; +import IntroAnimation from "./helper/IntroAnimation"; import reportWebVitals from "./reportWebVitals"; import "./index.scss"; const root = ReactDOM.createRoot(document.getElementById("root")); root.render( <> - - - - - + + + + + + + ); diff --git a/frontend/src/index.scss b/frontend/src/index.scss index 1a224bee..6eb28bba 100644 --- a/frontend/src/index.scss +++ b/frontend/src/index.scss @@ -11,3 +11,270 @@ from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } + +// ==================== Intro Animation ==================== +.intro { + position: fixed; + inset: 0; + z-index: 99999; + background: #0a0a0f; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + transition: opacity 1s cubic-bezier(0.4, 0, 0, 1), transform 1s cubic-bezier(0.4, 0, 0, 1); + + &--exit { + opacity: 0; + transform: scale(1.05); + pointer-events: none; + } +} + +// Floating particles +.intro__particles { + position: absolute; + inset: 0; +} + +.intro__particle { + position: absolute; + background: rgba(250, 100, 0, 0.6); + border-radius: 50%; + animation: particleFloat 4s ease-in-out infinite; + opacity: 0; +} + +// Glowing orbs +.intro__orb { + position: absolute; + border-radius: 50%; + filter: blur(80px); + opacity: 0.4; + animation: orbPulse 4s ease-in-out infinite; + + &--1 { + width: 300px; + height: 300px; + background: #FA6400; + top: -100px; + right: -100px; + animation-delay: 0s; + } + &--2 { + width: 250px; + height: 250px; + background: #7c3aed; + bottom: -80px; + left: -80px; + animation-delay: 1.5s; + } + &--3 { + width: 200px; + height: 200px; + background: #0ea5e9; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + animation-delay: 0.8s; + opacity: 0.2; + } +} + +// Center content +.intro__center { + position: relative; + text-align: center; + z-index: 2; +} + +// Hexagon logo +.intro__hex-wrap { + position: relative; + width: 120px; + height: 120px; + margin: 0 auto 40px; +} + +.intro__hex { + position: relative; + width: 100%; + height: 100%; + animation: hexFloat 3s ease-in-out infinite; +} + +.intro__hex-svg { + width: 100%; + height: 100%; + position: absolute; + inset: 0; +} + +.intro__hex-path { + stroke-dasharray: 400; + stroke-dashoffset: 400; + animation: hexDraw 1.5s ease forwards 0.3s; +} + +.intro__hex-icon { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + color: #FA6400; + opacity: 0; + animation: iconReveal 0.6s ease forwards 1.2s; +} + +// Orbiting dots +.intro__orbit { + position: absolute; + inset: -15px; + border-radius: 50%; + animation: orbitSpin 3s linear infinite; + + &--2 { + inset: -30px; + animation-duration: 5s; + animation-direction: reverse; + } +} + +.intro__orbit-dot { + position: absolute; + top: 0; + left: 50%; + width: 6px; + height: 6px; + margin-left: -3px; + background: #FA6400; + border-radius: 50%; + box-shadow: 0 0 10px #FA6400, 0 0 20px rgba(250, 100, 0, 0.5); +} + +// Brand text +.intro__text { + margin-bottom: 32px; +} + +.intro__brand { + font-family: "Quicksand", sans-serif; + font-size: 48px; + font-weight: 800; + letter-spacing: 6px; + margin-bottom: 16px; + line-height: 1; +} + +.intro__char { + display: inline-block; + color: #fff; + opacity: 0; + transform: translateY(30px) rotateX(90deg); + animation: charReveal 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; + + &--accent { + color: #FA6400; + } + &--space { + width: 16px; + } +} + +.intro__line { + width: 0; + height: 2px; + background: linear-gradient(90deg, transparent, #FA6400, transparent); + margin: 16px auto; + animation: lineExpand 0.8s ease forwards 1.8s; +} + +.intro__sub { + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + opacity: 0; + animation: fadeUp 0.6s ease forwards 2.2s; +} + +.intro__sub-text { + color: rgba(255, 255, 255, 0.6); + font-size: 13px; + font-weight: 500; + letter-spacing: 2px; + text-transform: uppercase; +} + +.intro__sub-dot { + color: #FA6400; + font-size: 8px; +} + +// Team badge +.intro__badge { + display: inline-flex; + align-items: center; + gap: 8px; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 100px; + padding: 8px 20px; + opacity: 0; + animation: fadeUp 0.6s ease forwards 2.6s; + + span { + color: rgba(255, 255, 255, 0.4); + font-size: 12px; + } + strong { + color: #FA6400; + font-size: 13px; + font-weight: 700; + letter-spacing: 1px; + } +} + +// Keyframes +@keyframes particleFloat { + 0%, 100% { opacity: 0; transform: translateY(0) scale(0); } + 50% { opacity: 1; transform: translateY(-40px) scale(1); } +} + +@keyframes orbPulse { + 0%, 100% { transform: scale(1); opacity: 0.3; } + 50% { transform: scale(1.2); opacity: 0.5; } +} + +@keyframes hexFloat { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-8px); } +} + +@keyframes hexDraw { + to { stroke-dashoffset: 0; } +} + +@keyframes iconReveal { + from { opacity: 0; transform: scale(0.5); } + to { opacity: 1; transform: scale(1); } +} + +@keyframes orbitSpin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +@keyframes charReveal { + to { opacity: 1; transform: translateY(0) rotateX(0deg); } +} + +@keyframes lineExpand { + to { width: 120px; } +} + +@keyframes fadeUp { + from { opacity: 0; transform: translateY(12px); } + to { opacity: 1; transform: translateY(0); } +} From c784d24617376b6d14f4067ff71016d06267df28 Mon Sep 17 00:00:00 2001 From: Nooka Nikshith <2311cs020483@mallareddyuniversity.ac.in> Date: Sun, 24 May 2026 16:55:14 +0530 Subject: [PATCH 05/10] feat: ZenCoders - Ads placement & targeting system with Valkey Added advertisement subsystem: Backend API with Valkey (sorted sets for priority, hashes for ad data, impression/click tracking with HINCRBY). Frontend components: AdBanner (full-width), AdSidebar (shop sidebar), AdInline (product grid). Ads auto-seed on first request. Placements: homepage-banner, homepage-mid, shop-sidebar, shop-inline. --- backend/routes/ads.js | 185 ++++++++++++++++++++++++ backend/server.js | 2 + frontend/src/components/AdBanner.jsx | 63 ++++++++ frontend/src/components/AdInline.jsx | 57 ++++++++ frontend/src/components/AdSidebar.jsx | 51 +++++++ frontend/src/components/ShopSection.jsx | 8 +- frontend/src/pages/HomePageOne.jsx | 7 + frontend/src/services/adsAPI.js | 20 +++ 8 files changed, 392 insertions(+), 1 deletion(-) create mode 100644 backend/routes/ads.js create mode 100644 frontend/src/components/AdBanner.jsx create mode 100644 frontend/src/components/AdInline.jsx create mode 100644 frontend/src/components/AdSidebar.jsx create mode 100644 frontend/src/services/adsAPI.js diff --git a/backend/routes/ads.js b/backend/routes/ads.js new file mode 100644 index 00000000..099a6f97 --- /dev/null +++ b/backend/routes/ads.js @@ -0,0 +1,185 @@ +const express = require('express'); +const { v4: uuidv4 } = require('uuid'); +const { getClient } = require('../config/valkey'); + +const router = express.Router(); + +/** + * Seed default ads on first request if none exist + */ +async function seedAdsIfEmpty(valkey) { + const existing = await valkey.smembers('ads:all'); + if (existing.length > 0) return; + + const defaultAds = [ + { + id: 'ad-001', + title: 'Summer Sale - Up to 50% Off', + description: 'Shop the biggest deals of the season on electronics & gadgets', + image: 'https://images.unsplash.com/photo-1607082348824-0a96f2a4b9da?w=800&q=80', + link: '/shop', + cta: 'Shop Now', + placement: 'homepage-banner', + category: 'electronics', + priority: 10, + impressions: 0, + clicks: 0, + active: 'true' + }, + { + id: 'ad-002', + title: 'Free Delivery on Orders $50+', + description: 'Limited time offer - get free express delivery on all orders above $50', + image: 'https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?w=800&q=80', + link: '/shop', + cta: 'Order Now', + placement: 'homepage-banner', + category: 'general', + priority: 8, + impressions: 0, + clicks: 0, + active: 'true' + }, + { + id: 'ad-003', + title: 'New Arrivals This Week', + description: 'Check out the latest products just added to our store', + image: 'https://images.unsplash.com/photo-1483985988355-763728e1935b?w=800&q=80', + link: '/shop', + cta: 'Explore', + placement: 'shop-sidebar', + category: 'fashion', + priority: 7, + impressions: 0, + clicks: 0, + active: 'true' + }, + { + id: 'ad-004', + title: 'Premium Membership - 20% Extra Off', + description: 'Join our premium membership and enjoy exclusive discounts', + image: 'https://images.unsplash.com/photo-1472851294608-062f824d29cc?w=800&q=80', + link: '/account', + cta: 'Join Now', + placement: 'homepage-mid', + category: 'membership', + priority: 9, + impressions: 0, + clicks: 0, + active: 'true' + }, + { + id: 'ad-005', + title: 'Flash Deal: Headphones 60% Off', + description: 'Premium wireless headphones at unbeatable prices. Today only!', + image: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=800&q=80', + link: '/product-details', + cta: 'Grab Deal', + placement: 'shop-inline', + category: 'electronics', + priority: 10, + impressions: 0, + clicks: 0, + active: 'true' + }, + { + id: 'ad-006', + title: 'Organic & Fresh Groceries', + description: 'Farm-fresh produce delivered to your doorstep every morning', + image: 'https://images.unsplash.com/photo-1542838132-92c53300491e?w=800&q=80', + link: '/shop', + cta: 'Shop Fresh', + placement: 'homepage-mid', + category: 'grocery', + priority: 6, + impressions: 0, + clicks: 0, + active: 'true' + } + ]; + + for (const ad of defaultAds) { + await valkey.hset(`ad:${ad.id}`, ad); + await valkey.sadd('ads:all', ad.id); + await valkey.zadd(`ads:placement:${ad.placement}`, ad.priority, ad.id); + await valkey.sadd(`ads:category:${ad.category}`, ad.id); + } +} + +/** + * GET /api/ads?placement=homepage-banner&category=electronics + * Get ads filtered by placement and/or category + */ +router.get('/', async (req, res) => { + const { placement, category, limit } = req.query; + const valkey = getClient(); + + try { + await seedAdsIfEmpty(valkey); + + let adIds = []; + + if (placement) { + // Get ads by placement, sorted by priority (highest first) + adIds = await valkey.zrevrange(`ads:placement:${placement}`, 0, (limit || 5) - 1); + } else if (category) { + adIds = await valkey.smembers(`ads:category:${category}`); + } else { + adIds = await valkey.smembers('ads:all'); + } + + const ads = []; + for (const id of adIds) { + const ad = await valkey.hgetall(`ad:${id}`); + if (ad && ad.id && ad.active === 'true') { + ads.push({ + id: ad.id, + title: ad.title, + description: ad.description, + image: ad.image, + link: ad.link, + cta: ad.cta, + placement: ad.placement, + category: ad.category, + impressions: parseInt(ad.impressions) || 0, + clicks: parseInt(ad.clicks) || 0 + }); + } + } + + res.json({ ads }); + } catch (err) { + console.error('Fetch ads error:', err); + res.status(500).json({ error: 'Failed to fetch ads' }); + } +}); + +/** + * POST /api/ads/:id/impression + * Track an ad impression + */ +router.post('/:id/impression', async (req, res) => { + const valkey = getClient(); + try { + await valkey.hincrby(`ad:${req.params.id}`, 'impressions', 1); + res.json({ success: true }); + } catch (err) { + res.status(500).json({ error: 'Failed to track impression' }); + } +}); + +/** + * POST /api/ads/:id/click + * Track an ad click + */ +router.post('/:id/click', async (req, res) => { + const valkey = getClient(); + try { + await valkey.hincrby(`ad:${req.params.id}`, 'clicks', 1); + res.json({ success: true }); + } catch (err) { + res.status(500).json({ error: 'Failed to track click' }); + } +}); + +module.exports = router; diff --git a/backend/server.js b/backend/server.js index abf8cf18..1e4fe38c 100644 --- a/backend/server.js +++ b/backend/server.js @@ -2,6 +2,7 @@ const express = require('express'); const cors = require('cors'); const authRoutes = require('./routes/auth'); const orderRoutes = require('./routes/orders'); +const adsRoutes = require('./routes/ads'); const { connectValkey } = require('./config/valkey'); const app = express(); @@ -20,6 +21,7 @@ connectValkey(); // Routes app.use('/api/auth', authRoutes); app.use('/api/orders', orderRoutes); +app.use('/api/ads', adsRoutes); // Health check app.get('/api/health', (req, res) => { diff --git a/frontend/src/components/AdBanner.jsx b/frontend/src/components/AdBanner.jsx new file mode 100644 index 00000000..3654ce8e --- /dev/null +++ b/frontend/src/components/AdBanner.jsx @@ -0,0 +1,63 @@ +import React, { useState, useEffect } from 'react'; +import { Link } from 'react-router-dom'; +import { adsAPI } from '../services/adsAPI'; + +/** + * AdBanner - Full-width promotional ad banner + * Used on homepage between sections + * Props: placement (string) - which placement to fetch ads for + */ +const AdBanner = ({ placement = 'homepage-banner' }) => { + const [ad, setAd] = useState(null); + + useEffect(() => { + adsAPI.getAds(placement) + .then(ads => { + if (ads.length > 0) { + const randomAd = ads[Math.floor(Math.random() * ads.length)]; + setAd(randomAd); + adsAPI.trackImpression(randomAd.id); + } + }) + .catch(() => {}); + }, [placement]); + + if (!ad) return null; + + return ( +
+
+
+ {ad.title} +
+
+
+ + Sponsored + +

{ad.title}

+

{ad.description}

+
+
+ adsAPI.trackClick(ad.id)} + > + {ad.cta} + +
+
+
+
+
+
+ ); +}; + +export default AdBanner; diff --git a/frontend/src/components/AdInline.jsx b/frontend/src/components/AdInline.jsx new file mode 100644 index 00000000..8e618eec --- /dev/null +++ b/frontend/src/components/AdInline.jsx @@ -0,0 +1,57 @@ +import React, { useState, useEffect } from 'react'; +import { Link } from 'react-router-dom'; +import { adsAPI } from '../services/adsAPI'; + +/** + * AdInline - Inline ad card that blends with product grid + * Used between product listings in shop page + */ +const AdInline = () => { + const [ad, setAd] = useState(null); + + useEffect(() => { + adsAPI.getAds('shop-inline') + .then(ads => { + if (ads.length > 0) { + const randomAd = ads[Math.floor(Math.random() * ads.length)]; + setAd(randomAd); + adsAPI.trackImpression(randomAd.id); + } + }) + .catch(() => {}); + }, []); + + if (!ad) return null; + + return ( +
+
+ {ad.title} + + SPONSORED + +
+
+
+ adsAPI.trackClick(ad.id)}> + {ad.title} + +
+

{ad.description}

+ adsAPI.trackClick(ad.id)} + > + {ad.cta} + +
+
+ ); +}; + +export default AdInline; diff --git a/frontend/src/components/AdSidebar.jsx b/frontend/src/components/AdSidebar.jsx new file mode 100644 index 00000000..31c77f2d --- /dev/null +++ b/frontend/src/components/AdSidebar.jsx @@ -0,0 +1,51 @@ +import React, { useState, useEffect } from 'react'; +import { Link } from 'react-router-dom'; +import { adsAPI } from '../services/adsAPI'; + +/** + * AdSidebar - Vertical ad card for sidebars + * Used in shop page sidebar + */ +const AdSidebar = () => { + const [ad, setAd] = useState(null); + + useEffect(() => { + adsAPI.getAds('shop-sidebar') + .then(ads => { + if (ads.length > 0) { + const randomAd = ads[Math.floor(Math.random() * ads.length)]; + setAd(randomAd); + adsAPI.trackImpression(randomAd.id); + } + }) + .catch(() => {}); + }, []); + + if (!ad) return null; + + return ( +
+ {ad.title} +
+ + AD + +
{ad.title}
+ adsAPI.trackClick(ad.id)} + > + {ad.cta} β†’ + +
+
+ ); +}; + +export default AdSidebar; diff --git a/frontend/src/components/ShopSection.jsx b/frontend/src/components/ShopSection.jsx index d5b51d7d..a9fc14b8 100644 --- a/frontend/src/components/ShopSection.jsx +++ b/frontend/src/components/ShopSection.jsx @@ -1,6 +1,8 @@ import React, { useState } from 'react' import { Link } from 'react-router-dom' import ReactSlider from 'react-slider' +import AdSidebar from './AdSidebar' +import AdInline from './AdInline' const ShopSection = () => { @@ -607,7 +609,7 @@ const ShopSection = () => {
- +
@@ -1943,6 +1945,10 @@ const ShopSection = () => { + {/* Inline Ad before pagination */} +
+ +
{/* Pagination Start */}