Welcome to Eco-Mart, a feature-rich e-commerce platform designed to provide a seamless shopping experience for both customers and administrators. Built with modern technologies and best practices, Eco-Mart offers a robust set of functionalities to ensure a secure, efficient, and user-friendly environment.
- Stripe Payment Setup: Secure and seamless payment processing.
- Robust Authentication System: Secure user signup and login.
- JWT with Refresh/Access Tokens: Enhanced security with token-based authentication.
- User Signup & Login: Simple and intuitive user registration and login.
- E-Commerce Core: Product listings, search, and filters.
- Product & Category Management: Add, edit, and delete products and categories.
- Shopping Cart Functionality: Add, update, and remove items from the cart.
- Checkout with Stripe: Secure and seamless checkout process.
- Coupon Code System: Create and manage discount coupons.
- Admin Dashboard: Manage users, orders, and sales analytics.
- Sales Analytics: Detailed sales reports and visual insights.
- Design with Tailwind: Responsive and modern UI design.
- Cart & Checkout Process: Smooth and intuitive cart and checkout experience.
- Security: Data encryption and secure routes.
- Data Protection: Regular data backups and compliance.
- Caching with Redis: Improved application performance.
- Newsletter: Email subscription and campaigns.
- Carousel: Display featured products and promotional banners.
- Frontend: React.js, Tailwind CSS, Framer Motion, React Router DOM, Axios
- Backend: Node.js, Express.js, MongoDB
- Authentication: JWT, Bcrypt
- Payment: Stripe
- Image Storage: Cloudinary
- Email: Nodemailer
- State Management: Zustand
- Charts: Recharts
- Caching: Redis
- Node.js
- MongoDB
- Redis
- Stripe Account
-
Clone the repository:
git clone https://github.com/Henok-Al/eco-mart.git cd eco-mart
-
Install dependencies:
npm install
-
Set up environment variables:
- Create a
.env
file in the root directory. - Add necessary environment variables.
- Create a
-
Run the application:
npm start
-
Access the application: Open your browser and navigate to
http://localhost:5173
.