BuyNest is a full-stack e-commerce website built using the MERN stack (MongoDB, Express.js, React.js, Node.js). It provides users with a seamless shopping experience and includes powerful features such as product management, authentication, and a responsive UI designed with Tailwind CSS. The state is managed using Redux for efficient data flow and user experience.
- Responsive Design: Fully mobile-friendly UI with Tailwind CSS.
- Product Management: Add, edit, and delete products.
- User Authentication: Secure login and signup with JWT.
- Shopping Cart: Add products to the cart and proceed to checkout.
- Redux State Management: Efficient state handling for cart and user data.
- Backend API: Built with Node.js, Express.js, and MongoDB.
- React.js
- Tailwind CSS
- Redux
- Node.js
- Express.js
- MongoDB
Follow these steps to set up the project on your local machine.
Ensure you have the following installed:
- Node.js (v14+)
- MongoDB (running locally or a cloud instance)
- Git
git clone https://github.com/yourusername/forever-ecommerce.git
cd forever-ecommerce
cd backend
npm install
cd ../frontend
npm install
Create a .env
file in the backend
folder and add the following:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
cd backend
npm run dev
cd ../frontend
npm start
Open your browser and navigate to:
http://localhost:3000
forever-ecommerce/
├── backend/ # Backend API
│ ├── controllers/ # API controllers
│ ├── models/ # MongoDB models
│ ├── routes/ # API routes
│ ├── server.js # Entry point for the backend
│ └── .env # Environment variables
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages
│ │ ├── redux/ # Redux slices and store
│ │ └── App.js # Main React component
├── README.md # Documentation
└── package.json # Project metadata
npm run dev
: Starts the backend server in development mode.npm start
: Starts the backend server in production mode.
npm start
: Starts the React development server.npm run build
: Builds the React app for production.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-name
). - Open a Pull Request.