ShopXpress is a modern e-commerce platform built to provide seamless shopping experiences. The application is built using MERN (MongoDB, Express.js, React.js, Node.js) stack and features a robust, scalable, and interactive architecture to meet modern user expectations.
- User Authentication: Secure user sign-up, log-in, and management using JSON Web Tokens (JWT).
- Product Management: Browse, add, update, and delete products.
- Shopping Cart: Add/remove items from the cart with live total calculations.
- Order Management: Place orders, track order history, and receive updates.
- Admin Panel: Admin dashboard for managing products, users, and orders.
- Reviews and Ratings: Add reviews and ratings for products.
- Responsive Design: Optimized for desktops, tablets, and mobile devices.
- React.js
- Redux Toolkit for state management
- Tailwind CSS for UI design
- Node.js with Express.js
- MongoDB for database management
- JWT for authentication
- Cloudinary for image upload
- Stripe for payment integration.
Follow the steps below to set up the project locally:
- Node.js installed
- MongoDB installed
- A Stripe account
-
Clone the repository:
git clone https://github.com/ammarnadeem01/shopxpress.git cd shopxpress -
Install dependencies:
cd Backend npm install cd ../Frontend/e-commerce-app npm install
-
Environment Variables: Create a
.envfile in thebackenddirectory and add the following values:MONGO_URI=your-mongo-uri JWT_SECRET=your-jwt-secret CLOUDINARY_URL=your-cloudinary-url STRIPE_SECRET=dummy-stripe-key -
Run the backend server:
cd Backend npm start -
Run the frontend server:
cd ../Frontend/e-commerce-app npm run dev -
Access the application: Open http://localhost:5173 in your browser.
controllers/- API logicmodels/- Database schemasroutes/- API endpoints
src/components/- Reusable UI componentssrc/pages/- Pages for routingsrc/redux/- State management files
Feel free to reach out with any questions or suggestions. Happy coding!