Skip to content

Full-featured React e-commerce platform with Firebase backend, Stripe payments, admin dashboard, and comprehensive order management. Complete online store solution.

Notifications You must be signed in to change notification settings

yora3vs3/E-commerce

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ E-commerce Platform - Complete Online Store Solution

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.

πŸš€ Features

πŸ‘₯ Customer Features

  • πŸ” 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 Features

  • πŸ› οΈ 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

πŸ› οΈ Tech Stack

  • 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

πŸ“ Project Structure

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

πŸ”§ Installation & Setup

Prerequisites

  • Node.js 14+
  • npm or yarn package manager
  • Firebase account
  • Stripe account

Local Development

  1. Clone the repository

    git clone https://github.com/yora3vs3/E-commerce.git
    cd E-commerce
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Configure Firebase

    • Create a Firebase project
    • Enable Authentication, Firestore, and Storage
    • Update src/firebase/config.js with your Firebase config
  4. Configure Stripe

    • Create a Stripe account
    • Add your Stripe keys to environment variables
    • Set up webhook endpoints
  5. 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
  6. Start development server

    npm run dev
    # Opens at http://localhost:3000

πŸ—οΈ Build & Deploy

Production Build

# Create optimized production build
npm run build

# Start production server
npm start

Deploy to Hosting

  • Firebase Hosting: firebase deploy
  • Netlify: Connect GitHub repository
  • Vercel: Import GitHub repository

πŸ’³ Payment Integration

Stripe Features

  • 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 Dashboard

Access Requirements

  • Admin role authentication
  • Protected routes with AdminOnlyRoute component
  • Secure Firebase rules

Admin Capabilities

  • 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

πŸ”§ Available Scripts

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

🌐 Live Demo

πŸ”’ Security Features

  • 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

πŸ“Š Analytics & Reporting

  • Sales Dashboard - Revenue and order analytics
  • Product Performance - Best-selling items tracking
  • Customer Insights - User behavior analytics
  • Inventory Reports - Stock level monitoring

🀝 Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Yora3vs3

πŸ™ Acknowledgments

  • 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

πŸ”„ Future Enhancements

  • 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!

About

Full-featured React e-commerce platform with Firebase backend, Stripe payments, admin dashboard, and comprehensive order management. Complete online store solution.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 75.2%
  • SCSS 20.8%
  • CSS 3.5%
  • HTML 0.5%