This is a full-stack MERN (MongoDB, Express, React, Node.js) e-commerce web application. It allows users to browse products, add them to a cart, and place orders. The app features user authentication, product management, and secure payment integration.
Check out the live version: E-Commerce Store
- User authentication (Login/Signup)
- Browse products by categories
- Add products to the cart
- Place orders and process payments
- User profile for managing orders
- Responsive design for all devices
- Admin dashboard to manage products and orders
- Frontend: React, TailwindCSS, Framer Motion
- Backend: Node.js, Express.js
- Database: MongoDB (Mongoose)
- Authentication: JWT (JSON Web Token)
- Payment Gateway: Stripe API
- Express - Fast, unopinionated, minimalist web framework for Node.js
- Mongoose - Elegant MongoDB object modeling for Node.js
- jsonwebtoken - Used for authenticating users with JWT
- bcryptjs - For hashing passwords
- Stripe - Payment gateway integration
- cors - Middleware to enable Cross-Origin Resource Sharing
- dotenv - To manage environment variables
- nodemon - For automatically restarting the server when code changes
- React - Frontend JavaScript library
- TailwindCSS - Utility-first CSS framework for styling
- Framer Motion - Animation library for React
- React Router - Declarative routing for React
- Axios - Promise-based HTTP client for the browser and Node.js
- React-Stripe - For integrating Stripe in React
- react-hot-toast - For notifications and toasts
- Lucide-Icons - For Icons
- Node.js (v20 or later)
- MongoDB
- Stripe API Key
- Clone the repository:
git clone https://github.com/Abhishek-Devanda/E-Commerce-Store.git cd ecommerce-store```
- Install backend dependencies:
npm install
- Set up environment variables: Create a
.envfile in thebackendfolder and add the following:PORT= your_desired_port NODE_ENV = development MONGO_URI=your_mongodb_uri CLIENT_URL = REFRESH_TOKEN_SECRET=your_secret_key ACCESS_TOKEN_SECRET=your_secret_key CLOUDINARY_CLOUD_NAME =your_cloudninary_cloud_name CLOUDINARY_API_KEY =your_cloudninary_api_key CLOUDINARY_API_SECRET =your_cloudninary_api_secret STRIPE_SECRET_KEY=your_stripe_secret_key STRIPE_PUBLIC_KEY=your_stripe_public_key
- Start the backend server:
npm run dev
- Install frontend dependencies:
cd frontend npm install - Start the frontend server:
npm run dev
Contributions are welcome! Feel free to open an issue or submit a pull request.