This is a comprehensive e-commerce application built with the MERN stack (MongoDB, Express, React, Node.js). It offers a seamless shopping experience for users, incorporating various features such as real-time order tracking, secure payments through Stripe, and Progressive Web App (PWA) capabilities.
- User Authentication: Users can create accounts, log in, and manage their profiles.
- Product Catalog: Browse through a wide range of products with detailed descriptions, images, and pricing.
- Product Search: Search for specific products using keywords or filters.
- Shopping Cart: Add items to the cart, update quantities, and proceed to checkout.
- Secure Payments: Integration with Stripe for secure and reliable payment processing.
- Real-Time Order Tracking: Users can track their orders in real-time, visualizing the delivery person's location on a map.
- PWA Capabilities: The application works offline, utilizes cache APIs for faster performance, and leverages indexed DB for efficient data storage. Push notifications keep users informed about updates and offers.
- Front-end: React, Redux, HTML, CSS, JavaScript
- Back-end: Node.js, Express.js, MongoDB
- Payment Integration: Stripe API
- Real-Time Tracking: Socket.io
- PWA Features: Service Workers, Cache API, IndexedDB
- Clone the repository: git clone https://github.com/SallamRady/Mern-E-commerce.git
- Navigate to the project directory: cd Mern-E-commerce
- Install server dependencies: npm install
- Install client dependencies: cd client && npm install
- Install client dependencies: cd server && npm install
- Set up environment variables: Create a .env file in the root directory. Add the necessary environment variables (e.g., MongoDB connection string, Stripe API keys, etc.).
- Run the application: Development mode: npm start (both server and client) Production mode: npm run build && npm start (server)
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request. Make sure to follow the project's coding standards and guidelines.
This project is licensed under the MIT License.