This repository contains the frontend code for the Mebius eCommerce project. The project is built using React with modern web technologies to provide a seamless and secure shopping experience for users.
- Product Catalog: Browse products with categories, search, and filtering
- Shopping Cart: Persistent cart with real-time quantity updates and management
- Wishlist System: Save favorite products for later purchase
- Order Management: Complete order lifecycle with tracking and history
- Stripe Payment Processing: Secure credit/debit card payments
- COD (Cash on Delivery): Alternative payment method
- Payment Success Flow: Order confirmation and tracking
- Secure Checkout: PCI-compliant payment processing
- Responsive Design: Mobile-first design for all devices
- Modern UI/UX: Enhanced home page, shop page, and cart interface
- User Authentication: Clerk-based authentication system
- Order Tracking: Real-time order status and delivery updates
- Product Reviews: User-generated ratings and feedback system
- Shipping Management: Address collection and validation
- Real-time Updates: Live cart and order status changes
- Search & Filtering: Advanced product discovery
- React 18 with modern hooks and functional components
- Redux Toolkit with RTK Query for state management
- React Router v6 for navigation and routing
- Tailwind CSS for responsive and modern styling
- Clerk for authentication and user management
- Stripe.js for secure payment processing
- Axios for API communication
- Node.js (v16 or higher)
- npm or yarn package manager
- Backend server running (see backend README)
-
Clone the repository:
git clone https://github.com/DLSNemsara/mebius-frontend.git
-
Navigate to the project directory:
cd mebius-frontend
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory:VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key VITE_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key VITE_API_BASE_URL=https://mebius-backend-sinel.onrender.com/api
-
Start the development server:
npm run dev
-
Open your browser: Navigate to
http://localhost:5173
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLintnpm run lint:fix
- Fix ESLint issues
- Uses localhost backend for development
- Local Clerk and Stripe keys for testing
- Deployed on Netlify
- Connected to deployed backend on Render
- Production Clerk and Stripe keys
src/
├── components/ # Reusable UI components
├── pages/ # Page components
├── lib/ # Utilities and configurations
│ ├── features/ # Redux slices
│ └── api.js # API configuration
├── hooks/ # Custom React hooks
└── styles/ # Global styles and CSS
The application uses Clerk for user authentication:
- Secure sign-up and sign-in
- Protected routes and API endpoints
- User session management
- Profile and account settings
Stripe integration provides:
- Secure payment processing
- Multiple payment methods
- PCI compliance
- Webhook handling for payment updates
The frontend is deployed on Netlify:
- Automatic deployments from main branch
- Environment variable configuration
- CDN distribution for global performance
The backend code for this project can be found in the mebius-backend repository.
- Fork the repository
- Create a 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
Distributed under the MIT License. See LICENSE
for more information.
For any inquiries or feedback, please contact us at sinelnemsara19@gmail.com.
Mebius - Modern E-commerce Platform