A full-featured e-commerce platform built with React, Firebase, and Stripe. Features comprehensive product management, secure payments, user authentication, admin dashboard, and order tracking. Perfect for launching an online retail business.
- π User Authentication - Secure registration, login, and password reset
- ποΈ Product Catalog - Browse extensive product collections
- π Search & Filter - Advanced product discovery
- π Shopping Cart - Persistent cart with quantity management
- π³ Stripe Payment - Secure payment processing
- π¦ Order Tracking - Complete order history and status updates
- β Product Reviews - Rate and review purchased products
- π± Responsive Design - Optimized for all devices
- π οΈ Admin Dashboard - Comprehensive management interface
- π·οΈ Product Management - Add, edit, and delete products
- π Order Management - Process and track customer orders
- π Analytics - Sales reports and performance metrics
- π₯ User Management - Customer account oversight
- Frontend: React 17, React Router DOM
- State Management: Redux Toolkit
- Styling: SCSS, React Icons
- Backend: Firebase (Authentication, Firestore, Storage)
- Payments: Stripe Integration
- Charts: Chart.js with React Chart.js 2
- Notifications: React Toastify, Notiflix
- Email: EmailJS for contact forms
- Additional: Axios, React Country Region Selector
E-commerce/
βββ public/
β βββ index.html
β βββ manifest.json
βββ src/
β βββ components/ # Reusable components
β β βββ admin/ # Admin-specific components
β β βββ slider/ # Product slider
β β βββ hiddenLink/ # Protected route components
β βββ customHooks/ # Custom React hooks
β βββ firebase/ # Firebase configuration
β βββ pages/ # Main application pages
β βββ App.js # Main application component
β βββ index.js # Application entry point
β βββ index.css # Global styles
βββ package.json # Dependencies and scripts
βββ README.md # Project documentation
- Node.js 14+
- npm or yarn package manager
- Firebase account
- Stripe account
-
Clone the repository
git clone https://github.com/yora3vs3/E-commerce.git cd E-commerce -
Install dependencies
npm install # or yarn install -
Configure Firebase
- Create a Firebase project
- Enable Authentication, Firestore, and Storage
- Update
src/firebase/config.jswith your Firebase config
-
Configure Stripe
- Create a Stripe account
- Add your Stripe keys to environment variables
- Set up webhook endpoints
-
Set up environment variables
REACT_APP_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key REACT_APP_FIREBASE_API_KEY=your_firebase_api_key # Add other Firebase config variables
-
Start development server
npm run dev # Opens at http://localhost:3000
# Create optimized production build
npm run build
# Start production server
npm start- Firebase Hosting:
firebase deploy - Netlify: Connect GitHub repository
- Vercel: Import GitHub repository
- Secure Processing - PCI-compliant payment handling
- Multiple Payment Methods - Cards, digital wallets
- Subscription Support - Recurring payments capability
- Webhook Integration - Real-time payment updates
- Refund Management - Easy refund processing
- Admin role authentication
- Protected routes with AdminOnlyRoute component
- Secure Firebase rules
- Product Management: CRUD operations
- Order Processing: Status updates and fulfillment
- Customer Support: User assistance tools
- Analytics Dashboard: Sales and performance metrics
- Inventory Tracking: Stock management
npm run dev # Start development server
npm run build # Create production build
npm start # Start production server (with Node.js server)
npm test # Run test suite
npm run eject # Eject from Create React App- E-commerce Store: View Live Site
- Repository: GitHub
- Firebase Authentication - Secure user management
- Protected Routes - Admin-only access control
- Input Validation - Client and server-side validation
- HTTPS Enforcement - Secure data transmission
- Environment Variables - Secure configuration management
- Sales Dashboard - Revenue and order analytics
- Product Performance - Best-selling items tracking
- Customer Insights - User behavior analytics
- Inventory Reports - Stock level monitoring
- 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.
Yora3vs3
- GitHub: @yora3vs3
- Portfolio: Live Portfolio
- LinkedIn: Connect with me
- React team for the powerful library
- Firebase for backend-as-a-service
- Stripe for secure payment processing
- Redux Toolkit for state management
- Chart.js for data visualization
- All open-source contributors
- Multi-vendor marketplace support
- Advanced inventory management
- Mobile app development
- AI-powered recommendations
- Social media integration
- Multi-language support
- Advanced analytics dashboard
- Subscription box functionality
β If you found this project helpful, please give it a star!
ποΈ Ready to launch your e-commerce business? Clone, customize, and start selling!