A e-commerce platform where every price is a conversation.
Pixmerce is a next-generation "Negotiation-as-a-Service" e-commerce storefront. Traditional shops have fixed prices; Pixmerce introduces AI Storekeepers—dynamic entities powered by Google's Gemini Pro that allow customers to bargain for better deals in real-time. Whether you're hunting for a rare pixel artifact or everyday essentials, Pixmerce turns shopping into an interactive game of strategy and persuasion.
- 🤖 AI-Powered Negotiation: Real-time price bargaining with AI-driven shopkeepers using LangChain and Google's Generative AI.
- 🏬 Dynamic Shopfronts: Explore various virtual boutiques with distinct inventories and shopkeeper personalities.
- 🔐 Secure Auth: Seamless onboarding with Google OAuth 2.0 integration for both frontend and backend.
- ⚡ High Performance: Optimized backend utilizing Redis for session management and fast response times.
- 🎨 Premium UI/UX: Built with React 19 and Tailwind CSS 4, featuring glassmorphic designs and smooth transitions.
pixmerce/
├── client/ # React Frontend (Vite)
│ ├── src/
│ │ ├── components/ # Reusable UI elements
│ │ ├── context/ # Auth & Global State
│ │ ├── services/ # API communication
│ │ └── App.jsx # Main routing & layout
│ └── tailwind.config.js # Modern CSS styling
├── server/ # Node.js Backend (Express)
│ ├── src/
│ │ └── app.js # Express configuration
│ ├── models/ # MongoDB Schemas
│ ├── routers/ # API Endpoints
│ ├── controllers/ # Business logic
│ └── services/ # Gemini AI & External integrations
└── package.json # Root workspace configuration
- Node.js (v18 or higher)
- MongoDB (Local or Atlas)
- Redis Server
- Google Cloud Console Account (for OAuth & Gemini API)
-
Clone the repository:
git clone https://github.com/your-username/pixmerce.git cd pixmerce -
Setup the Server:
cd server npm install # Create a .env file and add details from the Environment Variables section below npm run dev
-
Setup the Client:
cd ../client npm install # Create a .env file and add VITE_GOOGLE_CLIENT_ID npm run dev
| Variable | Description |
|---|---|
PORT |
The port the server will run on (Default: 5000) |
MONGO_URL |
MongoDB Connection String |
FRONTEND_URL |
URL of the frontend (for CORS) |
GOOGLE_CLIENT_ID |
Google OAuth Client ID |
GOOGLE_CLIENT_SECRET |
Google OAuth Client Secret |
JWT_SECRET |
Secret key for JWT signing |
REDIS_HOST |
Redis instance hostname |
REDIS_PASSWORD |
Redis authentication password |
GEMINI_API_KEY |
Google Gemini Pro API Key |
| Variable | Description |
|---|---|
VITE_GOOGLE_CLIENT_ID |
Public Google OAuth Client ID |
Built with ❤️ by the Pixmerce Team.