- 🔐 Secure Authentication - Firebase Auth with protected routes
- 🛒 Smart Shopping Cart - Redux-powered state management
- 💳 Payment Integration - Razorpay checkout
- 👨💼 Admin Dashboard - Complete product & order management
- 🌓 Dark Mode - Seamless theme switching
- 📱 Fully Responsive - Mobile-first design
- 🎨 Modern UI - Tailwind CSS with smooth animations
- ❤️ Wishlist - Save favorite products
- 🔍 Advanced Filters - Search & filter products easily
# Clone the repository
git clone https://github.com/SKSHAMKAUSHAL/E_SHOP_UP.git
# Navigate to directory
cd E_SHOP_UP
# Install dependencies
npm install
# Create .env file and add Firebase config
VITE_API_KEY=your_firebase_api_key
VITE_AUTH_DOMAIN=your_auth_domain
VITE_PROJECT_ID=your_project_id
VITE_STORAGE_BUCKET=your_storage_bucket
VITE_MESSAGING_SENDER_ID=your_sender_id
VITE_APP_ID=your_app_id
# Start development server
npm run devFrontend:
- React 18 + Vite
- Redux Toolkit
- Tailwind CSS
- React Router DOM
Backend:
- Firebase Firestore
- Firebase Authentication
- Firebase Storage
Payment:
- Razorpay Integration
src/
├── components/ # Reusable UI components
├── pages/ # Page components & routes
├── context/ # Global state management
├── redux/ # Redux store & slices
├── fireabase/ # Firebase configuration
└── utils/ # Helper functions
- Create a Firebase project at Firebase Console
- Enable Authentication (Email/Password)
- Enable Firestore Database
- Add your Firebase config to
.envfile
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /products/{document=**} {
allow read: if true;
allow write: if request.auth != null;
}
match /orders/{document=**} {
allow read, write: if request.auth != null;
}
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
}
}Update admin email in src/App.jsx:
if (admin?.user?.email === 'your-admin-email@gmail.com') {
return children;
}| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
npm run build
# Deploy dist/ folder to NetlifyOr connect your GitHub repository to Netlify for automatic deployments.
## 🤝 ContributingContributions are welcome! Feel free to:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Sksham Kaushal
- GitHub: @SKSHAMKAUSHAL
- Email: skshamkaushal@gmail.com
Give a ⭐️ if this project helped you!
Made with ❤️ by Sksham Kaushal





