Skip to content

thakurRUDRA14/ShopNest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShopNest

ShopNest is a feature-rich e-commerce web application designed to provide users with a seamless online shopping experience. The project includes functionalities for browsing products, managing a cart, and an admin dashboard for managing the store.

Features

  • User Functionality:

    • Browse products with search and filter options
    • Add products to cart and manage cart items
    • Secure checkout process with payment integration
  • Admin Functionality:

    • Admin dashboard to manage products, categories, and users
    • Order management
    • Real-time updates and notifications for critical actions
  • Additional Features:

    • Secure user authentication with JWT
    • Email notifications using Nodemailer
    • Responsive design optimized for all devices

Tech Stack

Frontend:

  • HTML
  • CSS
  • JavaScript
  • React.js
  • Redux Toolkit
  • TailwindCSS
  • Axios
  • Vite (as the build tool)

Backend:

  • Node.js
  • Express.js
  • MongoDB
  • JWT for Authentication
  • Bcrypt.js for Password Hashing
  • Nodemailer for Email Services

Development Tools:

  • Postman for API testing
  • Helmet for enhanced security

Installation

Follow these steps to run the project locally:

  1. Clone the repository:

    git clone https://github.com/thakurRUDRA14/ShopNest.git
  2. Navigate to the project directory:

    cd ShopNest
  3. Install dependencies for both frontend and backend:

    # Install frontend dependencies
    cd frontend
    npm install
    
    # Install backend dependencies
    cd ../backend
    npm install
  4. Set up environment variables:

    • Create a .env file in the backend directory and include the necessary variables.

    • Use the provided .env.sample file as a reference for required environment variables:

      PORT=4000
      MONGODB_URI="your_mongodb_connection_string"
      CORS_ORIGIN=*
      JWT_SECRET="your_jwt_secret"
      JWT_EXPIRE=5d
      COOKIE_EXPIRE=5
      SMPT_SERVICE=gmail
      SMPT_MAIL="your_email@example.com"
      SMPT_PASS="your_email_password"
      SMPT_HOST=smtp.gmail.com
      SMPT_PORT=587
      CLOUDINARY_CLOUD_NAME="your_cloudinary_cloud_name"
      CLOUDINARY_API_KEY="your_cloudinary_api_key"
      CLOUDINARY_API_SECRET="your_cloudinary_api_secret"
  5. Run the development servers:

    # Start backend server
    cd backend
    npm run dev
    
    # Start frontend server
    cd ../frontend
    npm run dev
  6. Open your browser and visit http://localhost:3000 to view the application.

API Documentation

The backend includes a comprehensive REST API. Below are the major endpoints:

User Endpoints

  • POST /api/auth/register: Register a new user
  • POST /api/auth/login: Login for users
  • GET /api/products: Fetch all products

Admin Endpoints

  • POST /api/products: Add a new product
  • PUT /api/products/:id: Update product details
  • DELETE /api/products/:id: Delete a product

Order Endpoints

  • POST /api/orders: Place a new order
  • GET /api/orders/:userId: Get user-specific orders

For detailed API testing, use Postman with the provided endpoints.

Screenshots

Home Page

Home Page

Admin Dashboard

Admin Dashboard

Product Details

Product Details

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m 'Add feature-name'
  4. Push to the branch:
    git push origin feature-name
  5. Create a pull request

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For queries or support, contact:


Happy Coding! 🎉

About

ShopNest - An ecommerce website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages