A full-stack Persian/English bilingual e-commerce web app for handmade candles. Built with React, Node.js, MongoDB, and Cloudinary.
respect/
├── frontend/ # Customer-facing store (React + Vite)
├── admin/ # Admin dashboard (React + Vite)
└── backend/ # REST API (Node.js + Express)
| Layer | Technology |
|---|---|
| Frontend & Admin | React 18, Vite, Tailwind CSS |
| Backend | Node.js, Express |
| Database | MongoDB Atlas |
| Image Storage | Cloudinary |
| Authentication | JWT |
| i18n | i18next (Persian & English) |
| Deployment | Vercel (frontend/admin), Render (backend) |
- Bilingual UI (Persian / English) with RTL support
- Product listing with category and sub-category filters (قلمی / سنگی)
- Best Seller section on homepage
- Shopping cart
- Admin dashboard to add, list, and remove products
- Image upload via Cloudinary
- JWT-based admin authentication
- Node.js 18+
- MongoDB Atlas account
- Cloudinary account
git clone https://github.com/Mino1826/Respect.git
cd Respectcd backend
npm installCreate a .env file in backend/:
MONGODB_URI=your_mongodb_connection_string
CLOUDINARY_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_SECRET_KEY=your_cloudinary_secret_key
JWT_SECRET=your_jwt_secret
ADMIN_EMAIL=your_admin_email
ADMIN_PASSWORD=your_admin_passwordStart the backend:
npm run serverRuns on http://localhost:4000
cd frontend
npm installCreate a .env file in frontend/:
VITE_BACKEND_URL=http://localhost:4000Start the frontend:
npm run devRuns on http://localhost:5173
cd admin
npm installCreate a .env file in admin/:
VITE_BACKEND_URL=http://localhost:4000Start the admin:
npm run devRuns on http://localhost:5174